以编程方式模拟 Alt + Enter 按键不起作用
Programmaticaly simulating Alt + Enter key press is not working
这是我的代码:
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
第二行按输入↵(或Return↵),
第四行会释放Alt,
第五行将释放输入↵(或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[=17=,你真的不需要中间的睡眠]
您可以在 MSDN page 中查看所有键码。
- Alt =
VK_MENU
- 向左 Alt =
VK_LMENU
- 右 Alt Gr =
VK_RMENU
这是我的代码:
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
第二行按输入↵(或Return↵),
第四行会释放Alt,
第五行将释放输入↵(或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[=17=,你真的不需要中间的睡眠]
您可以在 MSDN page 中查看所有键码。
- Alt =
VK_MENU
- 向左 Alt =
VK_LMENU
- 右 Alt Gr =
VK_RMENU