Ok, here is what I am trying to do. I want to either do it in VB6 or preferably VB.NET so either way is going to be helpful.

I need to do two things:

1) I need to read this registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3 but not return a value. What I actually need to return is all of the keys underneath it. IE

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3 will contain all of the printer drivers on your system so they keys would look like:
Code:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\HP LaserJet 5si
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\Canon BJC-300
I want to read those keys so the values I would be looking for in this case would be HP LaserJet 5si & Canon BJC-300.

Now my plan is to append these values to a list box. Once in the list box here is the function I want to perform against them (and yes this is getting exponentionally more difficult).

In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers is a list of all of the printers on the system. In that key there is a key based on the name of the printer & a value "Printer Driver" that will correspond with one of the keys from above.

More or less what I am trying to do is generate a list box of all of the printer drivers installed on the system and from that list generate a list of printers on the system that use that particular driver.

Is this do able with VB and can anyone point me in the right direction.

I can be reached on here. AOL IM jimmjr19 or ICQ 6262404 if you have any questions or advice.

Thanks,

Jim