作者walker2009 (誰人未嘗自以為)
看板C_and_CPP
標題[問題] 請問在 windows 環境中, 該如何控制游標的位置
時間Sat Mar 6 06:52:56 2010
想自己做個類似連點程式的東西XDDD
爬了版上的文章有看到用 <windows.h> 中的
mouse_event (MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
可以做滑鼠點擊
當中也有提到用
mouse_event(MOUSEEVENTF_MOVE,x,y,0,0);
可以將游標做相對於目前座標的移動
但試了很久相對移動的指令, 總是一直無法正確到達想要的位置!
e.g.
我先執行了 mouse_event(MOUSEEVENTF_MOVE,10,0,0,0); 八次
之後再執行 mouse_event(MOUSEEVENTF_MOVE,-80,0,0,0); 一次
結果游標竟然跑到比原本的位置還左邊很多 試了好幾次都這樣 囧
想請問在 windows 環境中該如何抓到目前游標所在位置的絕對座標
以及將游標設定至指定的座標呢???
另外這些 funtions 該 include 哪些 library 呢???
最後想請問一些跟標題無關的問題
就是, 一般的連點程式是執行了以後, 可以將畫面先移動到欲工作的視窗或是遊戲內
然後按個 F5 或是某個設定好的開始鍵後, 就會開始執行連點程式
但例如我寫說 input 是 F5 時就開始連點
當我的程式執行後
我先跳到欲工作的視窗
但此時我的程式似乎讀不到我輸入的東西了 (而是由目前看的那個視窗來讀到)
要處理這樣的問題是不是要用中斷來抓呢???
或是有其他簡單的方法??
關於這問題我該去補充哪方面的知識??
希望有經驗的大大能代為解惑 Orz
感恩!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.236.211
推 orztw:keyboard hook 03/06 09:27
→ walker2009:謝謝^^ 03/06 11:43
→ walker2009:搜尋了一下發現似乎不簡單@@ 要研究一下^^ 感恩~~~ 03/06 12:03