Зарегистрировать или удалить OCX, ActiveX

{1.}   
  
type   
  TDllRegisterServer = function: HResult; stdcall;   
  
function RegisterOCX(FileName: string): Boolean;   
var   
  OCXHand: THandle;   
  RegFunc: TDllRegisterServer;   
begin   
  OCXHand := LoadLibrary(PChar(FileName));   
  RegFunc := GetProcAddress(OCXHand, 'DllRegisterServer');   
  if @RegFunc <> nil then   
    Result := RegFunc = S_OK   
  else   
    Result := False;   
  FreeLibrary(OCXHand);   
end;   
  
function UnRegisterOCX(FileName: string): Boolean;   
var   
  OCXHand: THandle;   
  RegFunc: TDllRegisterServer;   
begin   
  OCXHand := LoadLibrary(PChar(FileName));   
  RegFunc := GetProcAddress(OCXHand, 'DllUnregisterServer');   
  if @RegFunc <> nil then   
    Result := RegFunc = S_OK   
  else   
    Result := False;   
  FreeLibrary(OCXHand);   
end;   
  
{**********}   
  
{2.}   
  
function RegisterServer(const aDllFileName: string; aRegister: Boolean): Boolean;   
type   
  TRegProc = function: HResult;   
  stdcall;   
const   
  cRegFuncNameArr: array [Boolean] of PChar =   
    ('DllUnregisterServer', 'DllRegisterServer');   
var   
  vLibHandle: THandle;   
  vRegProc: TRegProc;   
begin   
  Result := False;   
  vLibHandle := LoadLibrary(PChar(aDllFileName));   
  if vLibHandle = 0 then Exit;   
    @vRegProc := GetProcAddress(vLibHandle, cRegFuncNameArr[aRegister]);   
  if @vRegProc <> nil then   
    Result := vRegProc = S_OK;   
  FreeLibrary(vLibHandle);   
end;  
Теги:
OCX, ActiveX
Добавлено: 10 Апреля 2018 22:31:27 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...