无法找到这个简单的答案...... 无论如何,我已经看到了一些像这样的WIN32OLE代码:
WIN32OLE.new("MSVidCtl.MSVidWebDVD.1")
哪个有效。我的问题是,怎么可能(用任何编程语言)想出那个字符串?像枚举所有可用的服务器或不是什么?我的谷歌在这里让我失望。
感谢。 -r
更多资源(其中一些回答我的问题,我相信 - 不知道为什么我之前没有看到这些)
How to list all ActiveX controls? axhelper看起来不错,因为它也显示了产品名称,这就是VB显示的组件名称。
意识到显然在axhelper中被列为“组件”的东西并不意味着你不能在你的VBscript中使用它(例如:如果你在VB中插入“MS TV视频组件”,你可以做一个Imports MSVidCtlLib然后突然可以访问MSVidWebDVD等其他东西。
How to enumerate all ActiveX elements with WMI?
How to list all installed ActiveX controls?虽然那里的C代码似乎没有列举所有这些......
答案 0 :(得分:0)
据我了解你需要找到所有注册的COM服务器?如果是这样,您可以枚举注册表项:HKLM / Software / Classes / CLSID / {class_id} / ProgId。
您也可以尝试使用AxMan中的 axscan 实用程序。它是开源的,因此您可以根据自己的目的进行修改。