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

Вниз

Hook на клавиатуру.   Найти похожие ветки 

 
AnthreX   (2003-08-25 02:48) [0]

У меня такой вопрос, когда ставишь hook на клавиатуру, функция:
function KeyboardProc(Code: Integer; wParam: WPARAM; lParam: LPARAM): Integer; stdcall;
возвращает параметры: wParam – код нажатой клавиши и lParam - набор битовых флагов с дополнительной информацией.
Так вот проблема следующая:
wParam – возвращает код заглавного английского символа, независимо от регистра и раскладки клавиатуры. Как от этого избавиться? Например если я нажимаю клавишу “й”, то как определить, что нажата именно “й”, а не “Q”?
lParam – хоть и содержит флаги, но как я понял такого рода информацию из него не вытянешь. Что делать?


 
Song ©   (2003-08-25 09:28) [1]

Какой именно хук ставишь? WH_KEYBOARD ? По call-back ф-ии это не поймёшь.


 
AnthreX   (2003-08-26 03:13) [2]

Я ставлю WH_KEYBOARD.


 
KosilkA ©   (2003-08-26 15:04) [3]

знакомая проблема :-)
GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow,nil))


 
AnthreX   (2003-08-28 02:50) [4]

Спасибо. Идея понятна, а как, зная код кодовой страницы конвертировать текст. Может, есть какая-нибудь API функция или придется писать ее самому?



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
1-41386
maestro
2003-10-30 09:14
2003.11.13
Многострочная надпись на Panel


4-42216
Morfein
2003-09-18 13:46
2003.11.13
Кнопка на таскбаре


14-42093
Kein
2003-10-21 21:53
2003.11.13
помогите отладить алгоритм!!!!!!!


6-41824
S@b@k@.
2003-09-15 04:42
2003.11.13
Help me please


4-42262
RustiK
2003-09-13 18:28
2003.11.13
Перехват двойного нажатия клавиш такие как Alt+X