Jump to content

My first VB.NET application.


Recommended Posts

Hi,

I have recently begun discovering Visual Basic 2008 Express Edition. After I learned how to make classes and such, I've finally started to develop an experimental application.

At the moment it can do nothing except displaying list of devices in system (and worse than the Device Manager so far), so basically it's not useful at all (yet). :rolleyes:

How does it work?

The program searches through registry keys like...

HKLM\SYSTEM\CurrentControlSet\Enum\{enumerator}\{deviceID}\{deviceInstance}
HKLM\SYSTEM\CurrentControlSet\Control\Class\{classGUID}\{driver}

...to read, filter and store a list of device instances including some info.

It means the program does not enumerate any devices by itself, just reads from registry, so in the future it shouldn't be a problem to display the devices' state for example from a damaged system of a different computer, after connecting its registry hive. B)

Why am I doing this?

1) I want to use this app for some service purposes (see long-term TODO list).

2) I want to practice VB.NET and then try to make a bigger project or something.

My weird problem is that I don't know how to name the application. :unsure: The names I thought up either already exist or I just didn't like them, so I'm asking you for suggestions. If you are willing to help, please look at the TODO list below to see what features are expected and know what the program is supposed to do.

VB.NET 2008 apps require .NET 3.5 by default, but I compiled it to require just 2.0.

0.1 TODO list:

[#1] General: Name of the app!!! (required for release)

[#2] General: Choose a license

0.2 TODO list:

[#3] Internal: Optimize ClassGUID loading

[#4] Feature: Properties window (only devices for now)

[#5] Feature: Log window (info, warnings and errors go here)

[#6] UI: Icons for devices (depends on #3)

Long-term TODO list:

[#?] Major feature: Mount off-line registry hives (probably using REG.EXE)

[#?] Major feature: Help to identify an unknown hardware (off-line XML database + on-line web search)

[#?] Major feature: Ability to backup/export drivers (even from off-line damaged system, I hope)

Screenshot:

scr001.png

Executable (in 7z archive) is attached, if you want to try out.

hwlist_0010_20090408.7z

Edited by r3incarnat0r
Link to comment
Share on other sites


I would drop the .Net :P

Thanks for reply. I agree with trailing ".NET", makes the name long and complicated. However, there's another problem - "DeviceTool" name indicates that the app should do something with devices, but actually it will be rather intended to do something with drivers. This led to rename the app to "DriverTool" (which was my original idea anyway), but such things already exist. Then I started to looking for a word to replace the "Tool" string and found some nice examples in english dictionary:

bring, direct, expose, point, fetch, seek, probe, locate, quest, stalk, hunt, find, reveal, hit, uncover, sight, espy

I was also thinking if the name based on "Driver" is acceptable, because it's not obvious what kind of "driver" is meant - device driver, bus driver, ... :rolleyes: Fortunately I remembered the name "Windows", so I decided the "Driver" is not a big deal. ;) Considering my naming conditions (must not exist, not too long, not complicated, well pronounceable, can't sound stupid/weird/extremely cool), I got several acceptable results:

DriverSeek, DriverProbe, DriverHunt, DriverUncover B)

I liked the "DriverSeeker" variant, it sounds good to me and reminded me "Legend of the Seeker" :) but Google returned exact matches, so I cut it just to "DriverSeek".

So it looks like there's one decision left (to choose the one of the proposed names) instead of more "excogitation".

...name and icons aren't really something to strive for :P

You're right with the name, that's me who's mad, but some minor features will be introduced first, since they're basically products of my code adjustments and preparing the architecture to be more flexible, so I could be able to add future upgrades much easier.

As I said, I'm a beginner in VB.NET, until now I was just writing some .CMD scripts from time to time, so I'm fighting a bit with the object oriented way of programming and as I'm trying to write, sort and separate the code to classes, modules, structures etc., it forces me to think a lot and I need to proceed step by step, because the mess in the code and the need to rewrite the whole app from the scratch would probably lead to discontinue the project due to my laziness. :D

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...