Windows — как имитировать событие клавиатуры в переполнении стека

Я могу успешно смоделировать некоторые нажатия клавиш, используя keybd_event функция. Но я не знаю, как имитировать буквенно-цифровые клавиши клавиатуры.
Например, есть игра, которая работает нажатием клавиши «d» на клавиатуре. Так как мне смоделировать нажатие этой клавиши?

Следующий код работает для клавиши со стрелкой вверх.

keybd_event(VK_UP,0x26,0,0);

0

Решение

Буквенно-цифровые коды виртуальных ключей совпадают со значением ASCII в верхнем регистре.

Таким образом, чтобы нажать клавишу «D», keybd_event('D',...),

0

Другие решения

В X11 вы можете сделать это с помощью XTestFakeKeyEvent api.

Следующий код будет имитировать событие нажатия клавиши F5.

XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_F5), True, 0);
XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_F5), False, 0);
0

Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.