WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема Высокоточное нажатие клавиш :) К предыдущему сообщению На следующее сообщение Программирование

Отправил Gott в 02:57 17.08.2005[Ответить]
Собственно я о чем. Требуется послать сообщение некоторой программе в винде. Причем просто глобальная эмуляция нажатия кнопочек с помощью keybd_event не подходит, нужно чтобы мои кнопки "слышала" только конкретно программа-адресат.
С посылкой сообщений все понятно, но! С сообщением передается два параметра, wParam и lParam. По документашке wParam - виртуальный код клавиши, тут вопросов нет. Во втором параметре третий байт (считая с младшего) указывает если я правильно понял товарищей из майкрософта тоже виртуальный код клавиши, но уже это некоторый OEM код. Как выяснилось опытным путем он отличается от виртуальных кодов клавиш, в смысле от значения wParam.

Мне вот и интересно, если этот третий байт зависим от конкретной клавы, то как мне определить его, для клавы, которая присоединена к компу или он вообще не влияет на результат и я могу посылать с нулевым третьим байтом сообщение?


Отправил Gott в 13:58 17.08.2005[Ответить]
Как выяснилось при дальнейшем ковырянии, MapVirtualKey как раз выдает требуемое значение для третьего байта по заданному виртуальному коду, да и вообще интересная функция.


Отправил Gott в 15:57 25.08.2005[Ответить]
Ну что ж, раз никто не занимался пришлось мне ковырять самому все это дело. Во всем полностью разобрался, так что если будет похожая проблема - обращайтесь :)