作者yoco315 (眠月)
看板C_and_CPP
標題Re: [問題] 請問在 windows 環境中, 該如何控制游밠…
時間Sat Mar 6 10:51:11 2010
※ 引述《walker2009 (誰人未嘗自以為)》之銘言:
: 可以將游標做相對於目前座標的移動
: 但試了很久相對移動的指令, 總是一直無法正確到達想要的位置!
他這個座標是有換算過的,
整個螢幕好像是 10000 還是多少的,我忘了,
假設就是 10000 好了,那你移動 1000 的話就是移動 1/10 個螢幕的距離。
沒辦法整除的時候你就會得到這種累積誤差
要作相對移動的時候這樣很難用 -_-"
後來我都先用 GetCursorPos 抓目前位置
然後處理完之後再 SetCursorPos 去控制滑
這兩個函數的單位是像素,所以沒有誤差的問題
你可以寫小函數把相對移動包好,就很好用了。
MoveCursorPos(int x, int y) {
GetCursorPos(...) ;
....
SetCursorPos(...) ;
}
輕鬆寫意...
==
歹勢,沒注意到你還有後半段問題,
這個有很簡單的解法,用 RegisterHotKey() 註冊熱鍵
這種熱鍵是要特殊按法的,要配合 shift 或是 ctrl,比方說 [shift + F7]
這樣當你按下 shift + f7 的時候
不管現在 focus 是在哪個視窗
你的視窗都可以收到一個訊息叫做 WM_HOTKEY
剩下你應該都會了...
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.114.14
推 walker2009:大感恩!!!!!!!!!ORZ 03/06 11:43
推 walker2009:有關鍵字馬上就查到前半段的解答了! 謝謝^^ 03/06 12:00
→ VictorTom:1推一下y大:) 03/06 12:48
※ 編輯: yoco315 來自: 118.160.111.238 (03/06 16:49)
推 walker2009:謝謝^^ 馬上試試看! 03/06 17:07