这是我的代码:
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_RETURN, 0, 0, 0);
Sleep(200);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
第一行会按Alt
第二行将按 Enter ↵(或 Return ↵),
第四行将释放Alt,
第五行将释放 Enter ↵(或 Return ↵)。
最佳答案
您没有设置 KEYEVENTF_EXTENDEDKEY
标志以保持按键按下。将您的代码更改为:
keybd_event(VK_MENU, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_EXTENDEDKEY, 0);
Sleep(200);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
此外,如果您只是发送 Alt + Enter
,您真的不需要中间的 sleep您可以在 MSDN page 查看所有键码。 .
- Alt =
VK_MENU
- 向左 Alt =
VK_LMENU
- 右 Alt Gr =
VK_RMENU
关于c++ - 以编程方式模拟 Alt + Enter 按键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30917945/