Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.11;
Скачать: CL | DM;

Вниз

Еще раз про глобальные ловушки   Найти похожие ветки 

 
-=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 вся ветка

Текущий архив: 2007.11.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
15-1191914171
Думкин
2007-10-09 11:16
2007.11.11
Геормания, Германия - нас и тут неплохо кормят (второй попытк).


2-1192950817
2pac
2007-10-21 11:13
2007.11.11
CreateWindowEx - первый и четвертый параметры


15-1191322414
dumka
2007-10-02 14:53
2007.11.11
Юридический вопрос


15-1191351989
ERGef
2007-10-02 23:06
2007.11.11
Передать значение по ссылке в функцию в jave


11-1176527771
MTsv DN
2007-04-14 09:16
2007.11.11
Замечания и предложения (KOLnMCK v.2.57)