我需要模擬向上箭頭鍵,所以我用sendinput,我看到https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx上箭頭鍵是0x26,但問題是,程序模擬按下「L」,沒有向上的箭頭鍵,爲什麼? 下面是代碼:SendInput,爲什麼不模擬向上箭頭鍵?
INPUT ip;
ip.type = INPUT_KEYBOARD;
ip.ki.time = 0;
ip.ki.wVk = 0;
ip.ki.dwExtraInfo = 0;
ip.ki.dwFlags = KEYEVENTF_SCANCODE;
ip.ki.wScan =0x26; //UP ARROW key
SendInput(1, &ip, sizeof(INPUT));
ip.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
'SendInput()'返回什麼?什麼['getLastError()'](https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms679360%28v=vs.85%29.aspx)說? – YSC
發送一個個事件總是一個錯誤。創建一個數組並通過一次調用將其注入到'SendInput'中。這在文檔中有解釋。我不相信你仔細閱讀過。 –
而且值得一提的是,這裏沒有關於掃描碼的細節。在這種情況下,移除KEYEVENTF_SCANCODE並使用虛擬鍵碼「VK_UP」。 –