JohnB,
Any ProgID string that will work on your machine will
be in the Registry under the HKCR (HKEY_CLASSES_ROOT)
hive _and_ cross referenced here
HKEY_CLASSES_ROOT\CLSID\{26902120-114D-11D2-8FBF-0000F80272EA}\ProgID
HKEY_CLASSES_ROOT\WScript.Shell
Both entry types must be there for the ProgID to be
valid. There will be situations where a string will be
listed under HKCR, but won't have a CLSID.
You are free to open Regedit.exe and browse your
registry for these strings. This is not recommended
to be done casually since any errors you make with
the mouse or keys will make instant changes, making it
possible to render your machine unbootable.
Try doing a survey of Google for some Applets designed
to search for ProgID strings:
http://www.google.com/search?q=progid+object+browser
hth,
Mark Pryor
AIM:tlviewer
ICQ:Ø
>
> Try doing a survey of Google for some Applets designed
> to search for ProgID strings:
>
> http://www.google.com/search?q=progid+object+browser
While you're searching, grab TLViewer from Mark's site. ;)
You'll find a bunch of references to it; the current URL is:
http://mysite.verizon.net/res1ur2j/tlviewer.htm
Just for a pure listing of ProgIDs to stdout, you can run the following
script; make sure you run it from a command prompt and explicitly specify
cscript as the host. Note that this checks them from CLSIDs but doesn't
crosscheck for instance subkeys, so it does return possible bad values;
nonetheless, I have roughly 9000 of these on my system at present.
machine = "."
HKCR = &H80000000
hkey = HKCR
key = "CLSID"
Set Reg = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" _
& machine & "\root\default:StdRegProv")
' returns an array containing names of subkeys
' under key
dim subkeys, rtn
rtn = Reg.EnumKey(hkey, key, subkeys)
if rtn = 0 then
EnumKey = subkeys
else
err.raise vbObjectError + rtn, "RegistryProvider: ", _
"Error returned attempting to enumerate keys under " _
& key & ": " & rtn
wscript.quit 1
end if
for i = 0 to ubound(EnumKey)
Reg.GetStringValue hkey, _
key & "\" & EnumKey(i) & "\ProgId", "", val
if not typename(val) = "Null" then
WScript.Echo val, EnumKey(i)
next
EnumKey = filter(EnumKey, "\", false)
--
Please respond in the newsgroup so everyone may benefit.
http://dev.remotenetworktechnology.com
(email requests for support contract information welcomed)
----------
Microsoft's new UNIFIED Terminal Services Newsgroup:
news:microsoft.public.windows.terminal_services
> Just for a pure listing of ProgIDs to stdout, you can run the following
> script; make sure you run it from a command prompt and explicitly
> specify cscript as the host. Note that this checks them from CLSIDs
> but doesn't crosscheck for instance subkeys, so it does return possible
> bad values; nonetheless, I have roughly 9000 of these on my system at
> present.
Whoops - typos. I left out an End If and retained a line that was
unnecessary. This is better:
machine = "."
HKCR = &H80000000
hkey = HKCR
key = "CLSID"
Set Reg = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" _
& machine & "\root\default:StdRegProv")
' returns an array containing names of subkeys
' under key
dim subkeys, rtn
rtn = Reg.EnumKey(hkey, key, subkeys)
if rtn = 0 then
EnumKey = subkeys
else
err.raise vbObjectError + rtn, "RegistryProvider: ", _
"Error returned attempting to enumerate keys under " _
& key & ": " & rtn
wscript.quit 1
end if
for i = 0 to ubound(EnumKey)
Reg.GetStringValue hkey, _
key & "\" & EnumKey(i) & "\ProgId", "", val
if not typename(val) = "Null" then
WScript.Echo val
end if
next
"Alex K. Angelopoulos (MVP)" <a...@mvps.org> wrote in message
news:eOHaJH5N...@tk2msftngp13.phx.gbl...