非常感谢!!!!!

解决方案 »

  1.   

    //在系统里注册指定的OCX控件
    function MyUtil_RegisterOCX(Filename: pchar) : integer; stdcall;
    var
       hOCX: Integer;
       pReg: procedure;
    begin
       hOCX := LoadLibrary(pchar(Filename));
       if (hOCX <> 0) Then
          begin
             pReg := GetProcAddress(hOCX, 'DllRegisterServer');
             pReg;   { Anropa funktionen }
             FreeLibrary(hOCX);
             result := 0;
          end
       else
          result := -1;
    end;
    //在系统里取消注册指定的OCX控件
    function MyUtil_UnRegisterOCX(Filename: pchar) : integer; stdcall;
    var
       hOCX: Integer;
       pReg: procedure;
    begin
       hOCX := LoadLibrary(pchar(Filename));
       if (hOCX <> 0) Then
          begin
             pReg := GetProcAddress(hOCX, 'DllUnRegisterServer');
             pReg;   { Anropa funktionen }
             FreeLibrary(hOCX);
             result := 0;
          end
       else
          result := -1;
    end;
      

  2.   

    hjd_cw() 说的就是正解了,不过我想,如果用shellapi来shellexecute("regsvr32 你的ocx控件")不知道可不可行?
      

  3.   

    对不起,我要注册的是ActiveX Dll