我希望模擬鼠標左鍵單擊另一個窗口,並按住該按鈕約2秒。我曾嘗試下面的代碼:如何模擬鼠標按鈕並保持在C#
int WM_LBUTTONDOWN = 0x0201;
int WM_LBUTTONUP = 0x0202;
SendMessage(hd, WM_LBUTTONDOWN, new IntPtr(1), lParam);
Thread.Sleep(2000);
SendMessage(hd, WM_LBUTTONUP, new IntPtr(1), lParam);
參數「HD」是另一個窗口的句柄和「lParam的」包含座標信息來源。但它沒有像我的期望那樣工作。我使用斷點來調試代碼。當「WM_LBUTTONDOWN」消息發送到另一個窗口時,立即單擊另一個窗口中的按鈕,而不是等待消息「WM_LBUTTONUP」。
當我用鼠標點擊並按住按鈕時,spy ++顯示「WM_LBUTTONDOWN」和「WM_LBUTTONUP」之間除「WM_MOUSEMOVE」之外沒有任何其他消息。 Picture of Spy++ showed
那麼,如何模擬鼠標按鈕並保持在C#中?任何建議將是有益的,謝謝!
[你不能模擬與PostMessage的鍵盤輸入(https://blogs.msdn.microsoft.com/oldnewthing/20050530-11/?p=35513)。 – IInspectable
想要做一件很奇怪的事......爲什麼? – DonBoitnott
@DonBoitnott我想在Android模擬器上模擬鼠標點擊以自動播放Android網絡遊戲。但是遊戲會衡量遊戲中的按鈕需要多少時間來判斷它是否是人類玩遊戲。人類使用手指或鼠標點擊一個按鈕需要大約100毫秒,而模擬點擊的軟件僅花費2毫秒。 – Alleria