0
我寫了一個C++代碼片段來模擬鼠標點擊,如下所示。SendInput不能連續工作
INPUT mouseData[2];
ZeroMemory(mouseData, sizeof(mouseData));
mouseData[0].type = INPUT_MOUSE;
mouseData[0].mi.dx = xx;
mouseData[0].mi.dy = yy;
mouseData[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
mouseData[0].mi.mouseData = 0;
mouseData[0].mi.time = 0;
mouseData[1].type = INPUT_MOUSE;
mouseData[1].mi.dx = 10;
mouseData[1].mi.dy = 10;
mouseData[1].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
mouseData[1].mi.mouseData = 0;
mouseData[1].mi.time = 0;
SendInput(1, &mouseData[0], sizeof(INPUT));
Sleep(30);
SendInput(1, &mouseData[1], sizeof(INPUT));
但它不能正常工作。 前SendInput工作,但後來SendInput不起作用。 爲什麼?
另:我試過SendInput如下鼠標
- 調用SendInput點擊
- 手動點擊鼠標在屏幕上的任何位置。
- 來電SendInput
以上工作正常。 但沒有2,它不起作用。爲什麼?
對於任何獲取鼠標通知的程序來說,這會非常令人困惑。不要同時做所有事情,先移動,然後移動,然後移動。 –
您可以將這些事件放入數組中,以便它們可以以原子方式處理。不要一次發送一個。一次調用SendInput處理所有事件。每個不同的行動你都需要一個事件。閱讀文檔。 –
您正在設置錯誤的標誌。你確定左邊向下和左邊的標誌可以在單個輸入中發送嗎? – SMUsamaShah