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

Вниз

кодировка клавиатуры   Найти похожие ветки 

 
gate A20   (2002-04-24 20:13) [0]

Ставится глобальный хук на wh_keyboard, необходимо сохранять все нажатия клавиш. Возникает проблема кодировки - GetKeyNameText(Lparam) - где Lparam - то, что перехватил хук - не реагирует на текущий layout клавиатуры, и не реагирует на нажатие клавиши типа Shift+кнопка. Ну с последним более-менее ясно - можно снимать GetKeyboardState, и анализировать, какие же кнопки сейчас нажаты (хотя это тоже трансректальный способ, подскажите как лучше - буду премного благодарен). Что же делать с layout"ом - вовсе непонятно. Тут узнал, что layout клавиатуры может быть свой для каждого потока (цитата из МСДН), но как получить хэндл этого потока? (В смысле того потока, куда идёт перехваченое сообщение). Наверно, магическим образом узнав хэндл этого потока, по нему - layout клавиатуры, в зависимости от последнего можно будет ручками перекодировать Wparam+Lparam. Помогите чайнику, а?


 
Raptor ©   (2002-04-25 14:47) [1]

Вообще, то вся нужная информация о нажатых клавишах (в том числе и Shift) передается тебе в функцию хука. Надо только повнимательнее хелп почитать. А насчет Layout, то в самом деле тебе надо его узнавать для каждого процесса в отдельность, така как у каждого процесса он может быть разный. И магического здесь ничего нет, так как перехват нажатий клавиш происходит в адр. ространстве процесса окно которого в даный момент активно. Тоесть легко узнать хендл самого процесса или потока(GetWindowThreadProcessId).



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-77357
VDen
2002-06-12 20:17
2002.06.24
Взбесившийся указатель


3-77291
BACEK
2002-05-29 15:51
2002.06.24
Как получить результат выполнения процедуры в формате XML


14-77585
cok
2002-05-21 18:03
2002.06.24
Пушкин - это кто?....


4-77661
KSergey
2002-04-24 15:08
2002.06.24
Вроде просто: изменение доступности (enable/disable) кнопки. Как?


7-77620
МИФИст
2002-03-22 20:35
2002.06.24
Мастера, объясните как работать с VXD...