Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-41217
MIKL
2003-11-01 16:34
2003.11.13
Color $0000FF


1-41719
Зммей
2003-11-03 17:50
2003.11.13
Функция


7-42212
mdsns
2003-08-26 13:17
2003.11.13
Буфер CОМ-порта


14-41953
Fenix==
2003-10-24 12:25
2003.11.13
Обьявление


1-41600
Иванько
2003-10-26 23:37
2003.11.13
Работа с HotKey




   Наверх