最近無聊用postmessage 模擬一下滑鼠按鍵,達到自動下棋的目的 操作的行程是一個單機棋類游戲crazystone
用spy++查了一下游戲運行后 棋盤界面的hwnd是多少
然后寫了個demon
while(1)然而并沒有什么用 用spy++看了下訊息確實是接收到了的 x,y坐標也是對的
{
PostMessage(hwnd, WM_MOUSEMOVE, MK_LBUTTON, MAKELPARAM(x, y));
//Sleep(50);
PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x, y));
//Sleep(50);
PostMessage(hwnd, WM_LBUTTONUP,0, MAKELPARAM(x, y));
Sleep(200);
}
無意間運行這個回圈,用滑鼠移動到游戲界面
發生了一個神奇的事情 每當我滑鼠移動到一個地方就開始自動下棋
很是奇怪,我把x y改了也還是這樣
求助一下各位大佬
uj5u.com熱心網友回復:
是不是先要設定下焦點?BringWindowToTop(hGameWnd);
SetFocus(hGameWnd);
uj5u.com熱心網友回復:
還是不行 是什么原因呢
uj5u.com熱心網友回復:
改用mouse_event試試uj5u.com熱心網友回復:
PostMessage(hwnd, WM_MOUSEMOVE, MK_LBUTTON, MAKELPARAM(x, y));//Sleep(50);
PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x, y));
uj5u.com熱心網友回復:
SendInputuj5u.com熱心網友回復:
一組滑鼠訊息才能完成一個滑鼠動作,最好用mouse_event模擬uj5u.com熱心網友回復:
Post本身就不確定因素,不能保證成功處理,換 Senduj5u.com熱心網友回復:
postmessage發送訊息,這樣傳引數會丟掉,建議傳地址;sendmessage應該可以這樣用
uj5u.com熱心網友回復:
模擬滑鼠操作mouse_event/SendInput()uj5u.com熱心網友回復:
1. x、y是怎么來的?回圈中沒有對它修改,那不是只點一個點?2. 學習了
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/75399.html
標籤:基礎類
上一篇:C++ ADO 資料庫 多表
下一篇:如何解決error C2039: “oepn”: 不是“std::basic_ofstream<char,std::char_traits<char>>”的成員
