如何获得系统所有注册的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软件在微软网站有下载。
也许还有更好的办法,你再找找吧。