如何检查ActiveX控件是否注册

解决方案 »

  1.   

    可以检查注册表是否有这个控件的ProgID等值
      

  2.   

    ProgIDFromCLSID
    Retrieves the ProgID for a given CLSID.WINOLEAPI ProgIDFromCLSID(
      REFCLSID clsid,
      LPOLESTR * lplpszProgID
    );
      

  3.   

    参考:void IsReg(...)
    { // Get the DISPID
       LPOLESTR lpOleStr = L"ActiveX控件的名称";
       DISPID dispid;
       hr = pDispatch->GetIDsOfNames( IID_NULL,
                           &lpOleStr,
                           1,
                           LOCALE_SYSTEM_DEFAULT,
                           &dispid );   if (FAILED( hr ))
       {
          cout << "GetIDsOfNames failed. 没有注册 " << endl;
          CoUninitialize();
          return -1;
       }
    }