Главная страница
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.027 c
6-41852
SEvgeniy
2003-09-05 18:27
2003.11.13
ограничение трафика


1-41231
Pomashok
2003-11-01 11:18
2003.11.13
Hint


3-40902
SergeyNew
2003-10-20 12:15
2003.11.13
отчет в dll


1-41485
PN Soft
2003-10-28 13:28
2003.11.13
PChar=>String


14-42067
PVOzerski
2003-10-23 11:56
2003.11.13
Что бы это значило (CMOS)?