win10,vs2010
使用keybd_event()时遇到问题
keybd_event(VK_LWIN,0,0,0);//无效
keybd_event(VK_LSHIFT,0,0,0);//有效
VK_LWIN,0x5B和91皆无效
几个月前试过还能用的,是win10更新的原因吗?
而且这个函数没有返回值,该怎么查看执行情况呢?
win10,vs2010
使用keybd_event()时遇到问题
keybd_event(VK_LWIN,0,0,0);//无效
keybd_event(VK_LSHIFT,0,0,0);//有效
VK_LWIN,0x5B和91皆无效
几个月前试过还能用的,是win10更新的原因吗?
而且这个函数没有返回值,该怎么查看执行情况呢?
是你代码的原因。
你只模拟了按键按下,却没有模拟按键抬起的事件。
模拟 shift 键有效,是因为许多功能响应的是 shift 按下的动作。模拟 win 键无效,是因为弹出开始菜单响应的是 win 键抬起的动作。
完整的模拟 win 键的代码如下(已在 win10 + vs2019 下测试通过):
#include <windows.h>
#include <conio.h>
int main()
{
keybd_event(VK_LWIN, 0, 0, 0);
Sleep(30);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
_getch();
return 0;
}