2011-07-11 74 views
0

我使用mousegetpos獲取當前鼠標位置。我點擊其他地方。然後我嘗試用mousemove恢復原始位置。鼠標移動到不同的顯示器。我嘗試了另一種方法dllcall,但沒有成功。如何將鼠標移回原始顯示器?Autohotkey Mousemove錯誤顯示器

回答

2

如果您發佈代碼會更容易幫助 - 那麼人們可以看到您錯誤的位置。

按下Ctrl鍵這工作得很好,我 - 牛逼熱鍵:

CoordMode, Mouse, Screen 

^t:: 
MouseGetPos, x, y 
; Do Stuff Here. 
MouseMove, x, y 
return 

CoordMode, Mouse, Screen行設置相對於整個屏幕,而不是活動窗口中的座標。我已經在多臺顯示器設置上測試了這一點,並且每次都會將鼠標移回到原始位置,即使是在顯示器之間。讓我知道如果它不適合你。

SetDefaultMouseSpeed, 0 

這使得鼠標看上去瞬間移動,看起來乾淨了一點:

而且,只是爲了讓事情變得更順暢,你可以移動鼠標之前設定的鼠標速度爲「0」在大多數腳本中。

1

我可以證實Gary的答案完全適用於其他任何有類似問題的人。謝謝,加里!

我有這樣的分離式與音頻增強器的一個問題...

對任何人使用或知道自己突跳,你有工具欄(在任務欄)上雙擊靜音。 Breakaway與聲音管道一起工作的方式,其他標準AHK靜音腳本將不起作用,因此將鼠標移動到工具欄並雙擊實際上是唯一的靜音方法。我希望大寫鎖定將音頻靜音(或取消靜音),最好讓鼠標返回原來的位置。

我有無數的問題,試圖讓這個與多個監視器的工作,直到加里的帖子,所以這是我給其他人遇到類似問題的解決方案:

Capslock:: 
    BlockInput On 
    CoordMode, Mouse, Screen 
    MouseGetPos, xpos, ypos 
    MouseClick, left, 42, 965, 2 ;change the co-ordinates to match your system 
    MouseMove, xpos, ypos 
    SetDefaultMouseSpeed, 0 
    BlockInput Off 
Return