Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / проблема с глобальным хуком / 2 сообщений из 2, страница 1 из 1
30.06.2018, 08:28
    #39667809
Wolfpack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с глобальным хуком
устанавливаю глобальный хук из dll

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure setHook(Hook: boolean) export; stdcall;
begin
  StrResult:='';
  if Hook then
  begin
    if myHook=0 then
    myHook:=SetWindowsHookEx(WH_KEYBOARD_LL,@LowLevelKeyboardProc,HInstance,0);
  end
  else
  begin
    if myHook<>0 then
    UnHookWindowsHookEx(myHook);
    myHook:=0;
  end;
end;



вот обработчик
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function LowLevelKeyboardProc(nCode: Integer;
  WParam: WPARAM; LParam: LPARAM): Longint; stdcall;
begin
    if nCode = HC_NOREMOVE then begin
     Result :=0;
     Exit;
    end;

    if nCode < 0 then begin
      Result := CallNextHookEx(myHook, nCode, WParam, LParam);
      Exit;
    end;

    Result :=CallNextHookEx(myHook, nCode, WParam, LParam);

    if nCode = HC_ACTION then

      if WParam=WM_KEYUP then begin
       {делаю обработку и передаю данные своей программе}
      end;
end;



Проблема в том что через 10 или 12 часов Хук перестает работать
Так вот понять не могу по какой причине. Возможно просто выгружается dll

если я при создании хука буду передавать его хендл, то как потом понять живой этот хук или нет?
...
Рейтинг: 0 / 0
30.06.2018, 10:22
    #39667814
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с глобальным хуком
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / проблема с глобальным хуком / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]