Тема: Hook
Показать сообщение отдельно
  #2  
Старый 17.02.2009, 22:14
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

снятие хука в длл выглядит примерно так:
Код:
function StopHook: Boolean; export;
begin
 if PHookRec1<>nil
 then
  begin
   UnmapViewOfFile(PHookRec1); //если создавали FileMapping
   CloseHandle(hMemFile);
   PHookRec1:=nil;
  end;
 if Hooked
 then Result:=UnhookWindowsHookEx(hKeyHook)
 else Result:=true;
 Hooked:=false;
end;
а высвобождение длл происходит после FreeLibrary(DLLInstance) (если вы подключали ее динамически).

на счет второго вопроса я сомневаюсь, что сделал правильно, поэтому публиковать не буду.
Ответить с цитированием