如何获得系统所有注册的COM组件及他们的ProgID

水墨剑客 2007-01-23 06:39:15
我想在系统中动态加入系统所安装的ActiveX组件,但不知如何获得他们的ProgID及他们的属性表等。。
...全文
712 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwh2004 2007-01-25
  • 打赏
  • 举报
回复
注册表“HKEY_CLASSES_ROOT\CLSID\”下面是各种组件的注册信息
例如,RDO为:
[HKEY_CLASSES_ROOT\CLSID\{9A8831F1-A263-11D1-8DCF-00A0C90FFFC2}]
@="MicrosoftRDO.RdoConnection"

[HKEY_CLASSES_ROOT\CLSID\{9A8831F1-A263-11D1-8DCF-00A0C90FFFC2}\InprocServer32]
@="C:\\WINNT\\system32\\Msrdo20.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{9A8831F1-A263-11D1-8DCF-00A0C90FFFC2}\ProgID]
@="MicrosoftRDO.RdoConnection2.0"

[HKEY_CLASSES_ROOT\CLSID\{9A8831F1-A263-11D1-8DCF-00A0C90FFFC2}\TypeLib]
@="{EE008642-64A8-11CE-920F-08002B369A33}"

[HKEY_CLASSES_ROOT\CLSID\{9A8831F1-A263-11D1-8DCF-00A0C90FFFC2}\Version]
@="2.0"

[HKEY_CLASSES_ROOT\CLSID\{9A8831F1-A263-11D1-8DCF-00A0C90FFFC2}\VersionIndependentProgID]
@="MicrosoftRDO.RdoConnection"

要获得完整的属性表需要做大量的工作。
你可以用regsvr32来注册某个组件,同时用“regmon-注册表监控程序”来监控regsvr32都往注册表写了什么信息从而研究CLSID。研究出一个规律后,再写算法。
regmon软件在微软网站有下载。

也许还有更好的办法,你再找找吧。
水墨剑客 2007-01-23
  • 打赏
  • 举报
回复
可以例子?
fj182 2007-01-23
  • 打赏
  • 举报
回复
扫描注册表。

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧