Немогу отловить сигнал с двух клавиш на мультимедийной клавиатуре. Проблема в следующем: простые запросы типа WM_KEYDOWN, WM_KEYUP, и функция GetKeyState дают от двух клавиш одинаковый код 0xFF немогу понять почему? Если использовать Код (Text): dindev8 Acquire, pKeyboard dindev8 GetDeviceState, pKeyboard, 256, ADDR Keys то коды разные, но мне нежелательно использовать DX. Может кто знает как отловить сигнал стандартными API или еще чем?
В хуке ты смотришь только параметр wParam - он у этих клавиш одинаковый, но есть еще lParam, который для них разный. Эти два параметра нужно смотеть. Краткое описание этих параметров в сообщении WM_KEYDOWN (из MSDN): wParam-Specifies the virtual-key code of the nonsystem key. lParam-Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table. MSDN тебе в помощь
Все конечно хорошо, и работает, но вот незадача, как отловить скан-код если нету окна? И передать хендл не могу....
Сделать окно и поставить хук не выход, т.к. я пишу dll-ку и окно не будет октивно, поэтому получить глабальный сигнал, но как? я не знаю, самое главное что почти все стандартные функции испльзуют V-key а мне нужен скан-код, который можно получить только из окна, может кто знает выход? или кто работал с int 2e? может прерывание поможет.... Кароче кто нибудь мне может помочь? или тут нету таких?
Почему хук нельзя? В DLL его и надо ставить А у тебя нет прог которые разпозновали эти клавиши (ну мож в комплекте шли...),