Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

Здравствуйте, небольшой вопросик по ф-ии ловушки на клаву   Найти похожие ветки 

 
trubin   (2006-06-21 14:54) [0]

Здравствуйте, небольшой вопросик по приведенной ниже простенькой ф-ии ловушки на клаву:

function KeybHookProc(Code: Integer; wParam, lParam: Longint):Longint; stdcall;
begin
 case Code of
   HC_ACTION:   Result:=0;
   HC_NOREMOVE: Result:=0;
 else
   Result:=CallNextHookEx(gGlobalData^.HookHandle, code, wParam, lParam);
 end;  
end;

В документации указано, что в случае (Code = HC_ACTION | HC_NOREMOVE) если возвращаемое значение будет = 0, то windows передаст сообщение в целевое окно, ПРОПУСТИВ ЕГО ЧЕРЕЗ ОСТАВШИЕСЯ ЛОВУШКИ В ЦЕПОЧКЕ, но у меня почему-то следующие ловушки не вызываются, вызов слуедующей ловушки происходит если в любом случае вызывать CallNextHookEx, может кто-нибудь подскажет почему?


 
Игорь Шевченко ©   (2006-06-21 15:30) [1]


> может кто-нибудь подскажет почему?


Согласно документации.

"Calling the CallNextHookEx function to chain to the next hook procedure is optional, but it is highly recommended; otherwise, other applications that have installed hooks will not receive hook notifications and may behave incorrectly as a result. You should call CallNextHookEx unless you absolutely need to prevent the notification from being seen by other applications. "


 
trubin   (2006-06-21 22:26) [2]

В продолжение темы: кто-нибудь знает почему вышеупомянутая ф-я на одно однократное нажатие клавиши (имеется ввиду нажать и сразу отпустить) вызывается 4 раза - сначала 2 с совершенно одинаковыми wParam и lParam, и затем 2, где у lParam меняются на единицы 30 и 31 биты(ну это понятно). Я думал должно быть всего 2 вызова - один на нажатие и один на отпускание клавиши?


 
trubin   (2006-06-21 22:44) [3]

Извиняюсь, все правильно, ф-я вызывается 2 раза, стормозил, 2 раза ловушку ставил.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.051 c
1-1159414736
apic
2006-09-28 07:38
2006.11.05
Работа с Edit


15-1161150847
En -> Ru -> En
2006-10-18 09:54
2006.11.05
Что означают эти символы


2-1161222708
shake
2006-10-19 05:51
2006.11.05
ограничение на число операторов


15-1160997723
DillerXX
2006-10-16 15:22
2006.11.05
Лобанов Александр - "Жестокая Голактика"


2-1161355880
RomanH
2006-10-20 18:51
2006.11.05
Установка Microsoft SQL Server 2005 на WinXP Prof.SP2





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский