怎样用程序注册OCX控件?用ShellExecute()执行regsrv32行吗????怎样判断控件是否已注册?

解决方案 »

  1.   

    可以用ShellExecute,但建议使用安装程序中的组件自注册/自取消注册功能,一般的安装制作程序中都有相应的功能后者可以通过读取注册表判断
      

  2.   

    regsvr32 file.ocx相关控制参数可以看帮助 regsvr32 /?
      

  3.   

    HINSTANCE hdll=::LoadLibrary(sysfname);

    if(hdll)
    {
    FARPROC lpfn=::GetProcAddress(hdll,"DllRegisterServer");
    if(lpfn)
    {
    (*lpfn)();
    rt=true;
    //"调用DllRegisterServer成功,部件注册成功!";
    }
    else
    {
    //"无法找到DllRegisterServer入口,部件注册失败!";
    }
    ::FreeLibrary(hdll);
    }
    else
    {
    //"加载失败,部件注册失败!";
    }
      

  4.   

    ::ShellExecute(NULL,_T("open"),_T("regsvr32"),_T("-s xxx.dll"),0,SW_SHOW);