你如何枚举WIN32OLE可用的服务器? [英] how do you enumerate WIN32OLE available servers?

查看:274
本文介绍了你如何枚举WIN32OLE可用的服务器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无法找到一个简单的答案这个...
无论如何我看到一些WIN32OLE代码这样:

Wasn't able to find an easy answer to this one... Anyway I've seen some WIN32OLE code like this:

WIN32OLE.new("MSVidCtl.MSVidWebDVD.1")

。我的问题是,(在任何编程语言)如何可能想出这个字符串?像枚举所有可用的服务器或什么不?我的google fu在这里失败了。

Which works. My question is, how is it possible (in any programming language) to have figured that string out? Like enumerating all the available servers or what not? My google fu failed me here.

谢谢。
-r

Thanks. -r

更多资源(其中一些回答我的问题,我相信 - 不知道为什么我没有看到这些)

More resources (some of which answer my question, I believe--not sure why I didn't see these before)

如何列出所有ActiveX控件? axhelper看起来不错,因为它显示了产品名称,这是VB显示为其组件名称。

How to list all ActiveX controls? axhelper looks nice, as it shows the product name as well, which is what VB shows as its component name.

意识到在axhelper中列出的一个组件显然并不意味着你不能在VBscript中使用它(例如:如果你插入一个MS TV视频组件在VB中,你可以做一个Imports MSVidCtlLib,然后突然其他的东西,如MSVidWebDVD是可访问的)。

Realize that apparently something being listed as a "component" in axhelper does not mean you can't use it in your VBscript (ex: if you insert an "MS TV Video component" in VB, you can do an Imports MSVidCtlLib then suddenly other things like MSVidWebDVD are accessible).

How to enumerate all ActiveX elements with WMI?

推荐答案

因为我明白你需要找到所有注册的COM服务器?如果是这样,您可以枚举注册表项:HKLM / Software / Classes / CLSID / {class_id} / ProgId。

as I understand you need to find all registered COM servers? If so you can enumerate registry keys: HKLM/Software/Classes/CLSID/{class_id}/ProgId.

也可以尝试使用 axscan utility from AxMan 。它是开源的,所以你可以修改它为您自己的目的。

Also you can try to use axscan utility from AxMan. It is open source so you can modify it for your own purposes.

这篇关于你如何枚举WIN32OLE可用的服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆