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

解决方案 »

  1.   

    注册表“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软件在微软网站有下载。也许还有更好的办法,你再找找吧。