2012-11-26 32 views
2

我开发了一个ActiveX控件的集成。问题是在开发过程中,创建了一个新的版本,这意味着有一个不同的ActiveX Class ID。如何找到COM对象的ActiveX ClassID?

是否有任何方法可以在不联系开发人员的情况下确定COM对象的程序ID和ActiveX类ID?

在线研究中,我发现引用了OLE/COM Object Viewer,但似乎没有任何方法可以在扩展每个节点之外进行搜索。

非常感谢您的任何建议。

+0

您可以使用COM/OLE Viewer打开DLL并在其中浏览其类型库。你会看到'CLSID's。 –

回答

2

如果您有COM服务器的类型库,并且可以使用Oleview.exe查看,您当然可以看到CLSID。您不必查看树中的每个节点,只有节点是相关的。

但是,您看不到类型库中的ProgId。找到它的一种方法是使用Regedit.exe中的Edit + Find命令,粘贴从类型库中获得的CLSID guid。

当您使用SysInternals的ProcMon实用程序时,您会得到一切。启动它,然后用Regsvr32.exe注册服务器。您将看到ProcMon输出中编写注册表项的程序跟踪。

+0

感谢您提供这些信息。它帮助很大。 – Tim

+0

亲爱的@Hans passant请告诉我如何在vb6中找到ActiveX制作的类ID? –