2012-11-26 34 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? –