Hi,

Is there a way that I can obtain a list of objects that are available to me
from my workstation?

Thanks in Advance,
JeffH

Re: Objects by McKirahan

McKirahan
Wed Dec 28 08:50:45 CST 2005

"JeffH" <not@microsoft.com> wrote in message
news:#uQYpu7CGHA.1180@TK2MSFTNGP09.phx.gbl...
> Hi,
>
> Is there a way that I can obtain a list of objects that are available to
me
> from my workstation?
>
> Thanks in Advance,
> JeffH

Identify which components are installed on the server.
URL:http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=8976
&lngWId=4



Re: Objects by mr_unreliable

mr_unreliable
Wed Dec 28 11:22:30 CST 2005

hi Jeff,

You can also use Microsoft's OLE/COM Object Viewer, which will
display "everything" on your computer. You may wish to restrict
yourself to objects marked as safe for scripting, and Automation
Objects. The OLE/COM Object Viewer may be downloaded from various
sources, try this one:

http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/oleview-o.asp

If you have downloaded any version of the windows SDK, you may
find the OLE/COM Viewer buried in there also.

In addition there are some other viewers, such as Mark Pryor's
Typelib Viewer (TLViewer.exe), which are more oriented to scripting.
Actually, Mark's utility is more than a tlb viewer, it also will
first list all of the scriptable objects in the registry.

Apparently, Mark got pi--ed at his ISP and terminated his website.
However, he has alleged that he now has an "always on" dsl connection
at home, and that he has left "port 80" open so that people could
still get his tlb viewer. Try here:

http://67.49.101.245

If you can get through (I couldn't), then that should show a
directory, with the typelib viewer wrapped up as "TLVOB6.zip".

Also, if you google around, you can find other utilities available
which will produce a listing of scriptable objects. (It's not
difficult -- I even wrote one myself at one time long ago).

cheers, jw
____________________________________________________________

You got questions? WE GOT ANSWERS!!! ..(but,
no guarantee the answers will be applicable to the questions)




JeffH wrote:
> Hi,
>
> Is there a way that I can obtain a list of objects that are available to me
> from my workstation?
>
> Thanks in Advance,
> JeffH
>
>

Re: Objects by mayayana

mayayana
Wed Dec 28 17:33:07 CST 2005

> Is there a way that I can obtain a list of objects that are available to
me
> from my workstation?
>

If you want softwaree that can show you a list of all
potentially usable objects:

http://www.jsware.net/jsware/webed.html

If you want to create a list programmatically then
you need to use some means of being able to
enumerate Registry keys. The whole structure
of COM implies that objects are documented
in the Registry. Anything that can be created can
be tracked down there. (Otherwise Windows
wouldn't know how to create it.)

1) Read all keys under HKCR\CLSID and
check for any that have a subkey named
"InProcServer32" or "LocalServer32".
The former is used by ActiveX DLLs and
controls. The latter is used by ActiveX EXEs.
The default value under that key is the path
of the file containing the object.

If there is a ProgID subkey or
VersionIndependentProgID subkey that will
tell you the ProgID. (The one under the ProgID
key may be somethoing like "server.class.3"
while the version independent progid is without
the version number.)

If it has a ProgID you may be able to use the
object in script via CreateObject.

2) You can also work the other way, by going through
the HKCR keys - leaving out the filetype keys - and
look for any that have a CLSID subkey. Then look up
the CLSID in HKCR\CLSID. The advantage of that
approach is that you'll be filtering actual ProgIDs and
won't return any objects that don't have a ProgID.

In other words, HKCR subkeys list all registered
ProgIDs and provide a CLSID subkey to track them
down, while HKCR\CLSID subkeys work in reverse,
listing all CLSIDs with ProgID info. (if any) in the
subkeys.

Either way, if you can use it in script with CreateObject
then it has to have a ProgID and CLSID in the Registry.