【发布时间】:2016-01-19 19:00:31
【问题描述】:
我可以使用keybd_event 函数成功模拟一些击键。但我不知道如何模拟键盘的字母数字键。
例如,有一个游戏可以通过键盘上的按键“d”来运行。那么如何模拟这个按键呢?
以下代码适用于向上箭头键。
keybd_event(VK_UP,0x26,0,0);
【问题讨论】:
-
使用
SendInput而不是keybd_event。文档告诉你原因。
我可以使用keybd_event 函数成功模拟一些击键。但我不知道如何模拟键盘的字母数字键。
例如,有一个游戏可以通过键盘上的按键“d”来运行。那么如何模拟这个按键呢?
以下代码适用于向上箭头键。
keybd_event(VK_UP,0x26,0,0);
【问题讨论】:
SendInput 而不是keybd_event。文档告诉你原因。
字母数字键的虚拟键码与其大写ASCII值相同。
所以要按“d”键,keybd_event('D',...)。
【讨论】:
在 X11 中,您可以使用 XTestFakeKeyEvent api。
以下代码将模拟 F5 按键事件。
XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_F5), True, 0);
XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_F5), False, 0);
【讨论】: