Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ProgID

0 views
Skip to first unread message

JohnB

unread,
Jun 20, 2003, 8:42:23 AM6/20/03
to
Is there a list available of progID's that can be called by
CreateObject(progid.Application)?
thanks


Mark_Pryor

unread,
Jun 20, 2003, 12:38:24 PM6/20/03
to

"JohnB" <jbr...@yahoo.com> wrote in message
news:#WLmtlyN...@TK2MSFTNGP12.phx.gbl...

> Is there a list available of progID's that can be called by
> CreateObject(progid.Application)?
> thanks
>

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:Ø


Alex K. Angelopoulos (MVP)

unread,
Jun 20, 2003, 9:04:33 PM6/20/03
to
Mark_Pryor wrote:
> "JohnB" <jbr...@yahoo.com> wrote in message
> news:#WLmtlyN...@TK2MSFTNGP12.phx.gbl...
>> Is there a list available of progID's that can be called by
>> CreateObject(progid.Application)?

>


> 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

Alex K. Angelopoulos (MVP)

unread,
Jun 20, 2003, 9:09:37 PM6/20/03
to
Alex K. Angelopoulos (MVP) wrote:
> Mark_Pryor wrote:
>> "JohnB" <jbr...@yahoo.com> wrote in message
>> news:#WLmtlyN...@TK2MSFTNGP12.phx.gbl...

> 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

JohnB

unread,
Jun 20, 2003, 10:18:36 PM6/20/03
to
Thanks!

"Alex K. Angelopoulos (MVP)" <a...@mvps.org> wrote in message
news:eOHaJH5N...@tk2msftngp13.phx.gbl...

0 new messages