Главная страница
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.017 c
3-77263
Alik Chu
2002-05-30 10:43
2002.06.24
Мужики, ОЧЕНЬ нужен DbTreeView!!! Помогите!


14-77547
fliz
2002-05-18 12:52
2002.06.24
народ, что в мире происходит ?


1-77351
Karter
2002-06-12 16:19
2002.06.24
Как в Delphi через API


7-77624
@andrew
2002-03-27 14:55
2002.06.24
ПРИВЕТ ВСЕМ !!! Вопрос по работе со звуком...


7-77645
BugMaker
2002-03-27 12:33
2002.06.24
Сервис