Воскресенье, 28.04.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нашли свой исходник?
Всего ответов: 94
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Система » ActiveX

Зарегистрировать или удалить 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;

Получить ссылку на материал

Категория: ActiveX | Добавил: Барон (04.12.2011)
Просмотров: 722 | Теги: OCX, Activex | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
ActiveX [10]
CORBA и COM [16]
Kol и MCK [23]
WinAPI [28]
Компоненты [27]
Работа с Bluetooth [4]
Железо [8]
Текст [18]
Разное [98]
Королевство Delphi © 2010-2024
Яндекс цитирования