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

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



Память: 0.45 MB
Время: 0.027 c
1-77368
Stas Ant
2002-06-13 13:19
2002.06.24
Чужая Dll, в win98 работает а в W2K и W2K Server пишет что библи


1-77426
Burmistroff
2002-06-09 21:22
2002.06.24
Динамические массивы


14-77603
Дмитрий Баранов
2002-05-22 12:30
2002.06.24
Оффтопик (VC++)


8-77513
Don
2002-02-12 01:55
2002.06.24
Проблема оптимизации картинки при изменении размера


8-77511
pIt
2002-02-09 03:55
2002.06.24
Bitmap ы из DLL ки или чужого EXE ка




   Наверх