Форум: "WinAPI";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизЕще раз про глобальные ловушки Найти похожие ветки
← →
-=Germe$=- © (2007-05-08 09:10) [0]Есть вот такая процедура в ДЛЛке. Ловушка обрабатыват WH_KEYBOARD. Иногда данная процедура работает... Иногда нет... Что в ней не так?
procedure Hook(Code : integer; wParam : Word; lParam : Longint) stdcall;
begin
If Code<0 then
begin
CallNextHookEx(HookHandle, Code, wParam, lParam);
Exit;
end;
CallNextHookEx(HookHandle, Code, wParam, lParam);
PostMessage(AppWnd, WM_HOOK, wParam, lParam);
end;
А это функция установки ловушки.procedure SetHook(flag: Boolean; AW: HWND)export; stdcall;
begin
If flag then
begin
HookHandle:=SetWindowsHookEx(WH_KEYBOARD, @Hook, hInstance, 0);
WM_MYKEYHOOK:= RegisterWindowMessage("WM_HOOK");
AppWnd:=AW;
end
else
begin
UnhookWindowsHookEx(HookHandle);
end;
end;
← →
-=Germe$=- © (2007-05-08 09:16) [1]Вот так в идеале... WM_HOOK:= RegisterWindowMessage("WM_HOOK");
← →
begin...end © (2007-05-08 10:37) [2]Начнём с того, что заголовок функции ловушки неправильный.
← →
Leonid Troyanovsky © (2007-05-08 10:42) [3]
> -=Germe$=- © (08.05.07 09:10)
> Иногда данная процедура работает... Иногда нет... Что в
> ней не так?
Считай, что все.
Начиная с того, что не procedure Hook, а function,
не Word, а WPARAM & etc.
RTFM: msdn.microsoft.com
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.045 c