On Wed, 22 Aug 2012, Francisco Zarabozo wrote:
> On Wed, 22 Aug 2012, Jan Dubois wrote:
> > There is no way to do this. You could crawl the registry,
> > instantiate all registered COM objects, and do a QueryInterface for
> > the IDispatch interface. This doesn't do you much good though, as
> > you still wouldn't know which methods and properties the object
> > supports.
>
> Doesn't Active Perl come (or used to come) with a "COM Browser" (using
> Perl Script for IE) which does precisely that (listing all usable COM
> objects with properties and methods)?

No, it enumerates the installed type libraries.

But as I wrote there is no reliable way to find the ProgIDs that
would allow you to instantiate an object corresponding to a particular
type library.  And there isn't even any guarantee that the actual
implementation is even installed.

I believe the OLE Browser is still installed, but you have to
open up your IE setting to a pretty vulnerable state in order
to run it, so I would recommend using it unless you have absolutely
no other way to get at the object model documentation.  If you
own Microsoft Office, or Visual Studio, use the Object Browser
included in those tools instead.

I wrote the OLE browser 15 years ago just as an experiment to
use PerlScript inside IE as the GUI for a local app, but there
is a reason this technique isn't used anywhere else...

Cheers,
-Jan

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to