Sleep()后C ++ SendInput()失败

时间:2015-12-14 21:19:31

标签: c++

我在Sleep()之后执行SendInput()函数时遇到问题。我一直在寻找解决方案的日子,空手而归。这是我的代码:

void Form1::GenerateKey (int vk) {          
    INPUT ip;
    ip.type = INPUT_KEYBOARD;
    ip.ki.wScan = MapVirtualKey(vk,MAPVK_VK_TO_VSC);
    ip.ki.wVk = 0;
    ip.ki.time = 0;
    ip.ki.dwExtraInfo = 0;
    ip.ki.dwFlags = KEYEVENTF_SCANCODE; 
    SendInput(1, &ip, sizeof(INPUT));

    ip.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
    SendInput(1, &ip, sizeof(INPUT));
}

所以,当我执行Sleep(2000); GenerateKey(0x46);时,它不起作用,但仅调用GenerateKey(0x46);

值得一提的是,如果我在睡觉时按下一个键,它就会起作用。

0 个答案:

没有答案