10
我想弄清楚SendInput函數的正確使用,這樣我就可以直接在屏幕上操作光標,所以對於基本的測試來看看事情是如何工作的,我做了這個簡短的片段應該將光標向右移動10個像素。理論上。SendInput讓系統進入睡眠狀態
#include <windows.h>
#include <winable.h>
int main()
{
INPUT joyInput;
joyInput.type = INPUT_MOUSE;
joyInput.mi.dx = 10;
joyInput.mi.dwFlags = MOUSEEVENTF_MOVE;
SendInput(1, &joyInput, sizeof(INPUT));
return 0;
}
然而,在實踐中,SendInput函數或者是把我的電腦睡覺,或者至少切斷我的顯示器,這肯定是不想要的效果!評論這條線可以防止問題的發生,但顯然我需要它來執行任務。我究竟做錯了什麼?
這是一個古老的線程,但我遇到了同樣的問題,並希望分享原因。如果您不在鼠標事件中應用時間數據,即使出於某種原因,它也可能會觸發屏幕關閉。也許它正在計算使用這些事件的輸入超時?這似乎只對測試有用,但對於生產代碼來說沒有意義。無論如何,你可以使用GetTickCount()來分配一個時間: joyInput.mi.time = GetTickCount(); – MonoQuemado