读书人

怎么获得系统所有注册的COM组件及他们

发布时间: 2012-01-03 22:16:06 作者: rapoo

如何获得系统所有注册的COM组件及他们的ProgID
我想在系统中动态加入系统所安装的ActiveX组件,但不知如何获得他们的ProgID及他们的属性表等。。

[解决办法]
扫描注册表。
[解决办法]
注册表“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软件在微软网站有下载。

也许还有更好的办法,你再找找吧。

读书人网 >VB

热点推荐