Я пытался создать приложение на C ++, которое устанавливает низкоуровневый хук клавиатуры
и каждый раз, когда пользователь нажимает клавишу, он пишет символ строки, которую я сделал.
Может кто-нибудь объяснить, как я могу изменить пользовательский ввод без использования
функция keybd_event, но изменяет сам ключ до того, как ОС его интерпретирует.
Я попробовал кое-что с этим MSG и изменением wparam, но это не работало.
Если кто-то может показать мне пример кода, это будет
будь лучше
Может кто-нибудь объяснить, как я могу изменить пользовательский ввод, не используя функцию keybd_event, но меняя сам ключ до того, как ОС его интерпретирует.
Ты не можешь. Вы должны отклонить ключ в вашем хуке, а затем опубликовать свой собственный ключ, используя keybd_event()
или же SendInput()
, И обязательно проверьте, если KBDLLHOOKSTRUCT::flags
поле имеет LLKHF_INJECTED
или же LLKHF_LOWER_IL_INJECTED
флаг включен, так что вы не отклоняете свои собственные смоделированные ключи.
Я попробовал кое-что с этим MSG и изменением wparam, но это не работало
MSG
структура не используется с WH_KEYBOARD_LL
крюк.