Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.066 c
3-1183576692
lavrenty
2007-07-04 23:18
2007.11.11
Не срабатывает Refresh


2-1192964859
DeadHorse
2007-10-21 15:07
2007.11.11
Простой вопрос. Получение a


2-1192786979
Aladdinych
2007-10-19 13:42
2007.11.11
Как создать почтовой сообщение


4-1178288430
kain2
2007-05-04 18:20
2007.11.11
Помогите ошибка!!!


4-1178388982
buben
2007-05-05 22:16
2007.11.11
Application.Handle





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский