返回值是4,我在管理模式下運行Visual Studio,因此權限應該沒問題。我沒有看到任何輸入。任何幫助?我正在使用Windows 7 x64。SendInput(C++)不工作
INPUT input[4];
input[0].type = INPUT_KEYBOARD;
input[0].ki.wVk = 0;
input[0].ki.wScan = 'a';
input[0].ki.dwFlags = KEYEVENTF_SCANCODE;
input[0].ki.time = 0;
input[0].ki.dwExtraInfo = 0;
input[1].type = INPUT_KEYBOARD;
input[1].ki.wVk = 0;
input[1].ki.wScan = 'a';
input[1].ki.dwFlags = KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE;
input[1].ki.time = 0;
input[1].ki.dwExtraInfo = 0;
input[2].type = INPUT_KEYBOARD;
input[2].ki.wVk = 0;
input[2].ki.wScan = 'a';
input[2].ki.dwFlags = KEYEVENTF_SCANCODE;
input[2].ki.time = 0;
input[2].ki.dwExtraInfo = 0;
input[3].type = INPUT_KEYBOARD;
input[3].ki.wVk = 0;
input[3].ki.wScan = 'a';
input[3].ki.dwFlags = KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE;
input[3].ki.time = 0;
input[3].ki.dwExtraInfo = 0;
int retval = SendInput(4, input, sizeof(INPUT));
if(retval > 0)
{
wxLogDebug("SendInput sent %i", retval);
}
else
{
wxLogError("Unable to send input commands. Error is: %i", GetLastError());
}
就是這樣。謝謝。 – asmw 2010-03-02 23:19:19
這是哪一個? – SLaks 2010-03-02 23:19:31
我將標誌更改爲KEYEVENTF_UNICODE,它與掃描碼一起工作。儘管我展示的例子有它,但事件並不是必需的。 – asmw 2010-03-02 23:25:02