2011-07-11 36 views
0

私はmousegetposを使用して現在のマウス位置を取得しています。私は別の場所をクリックします。それから私はmousemoveで元の位置を復元しようとします。マウスが別のモニターに移動します。私は代替方法dllcallを試しましたが、成功しませんでした。マウスを元のモニターに戻すにはどうしたらいいですか?Autohotkey Mousemove間違ったモニタ

答えて

2

あなたのコードを投稿すると簡単に手助けすることができます。そうすれば、どこに間違っているのかが分かります。

このCtrlキーを押したときに私のために正常に動作します - Tホットキー:

CoordMode, Mouse, Screen 

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

CoordMode, Mouse, Screen行が画面全体ではなく、アクティブウィンドウに対する相対座標を設定します。私は複数のモニター設定でこれをテストし、マウスは毎回、またモニター間でも元の場所に戻ります。それがあなたのために働いていない場合私に教えてください。

また、物事が少しスムーズに行うために、あなたがマウスを移動する前に「0」にマウスの速度を設定することができます。

SetDefaultMouseSpeed, 0 

これはマウスが少しきれいに見えるどの瞬時に移動することに見えますほとんどのスクリプトでは

1

ゲイリーの答えは、そこに同様の問題を抱えている人にとって完璧に働くことが確認できます。ありがとう、ゲーリー!

私は自分自身がブレイクアウェイオーディオエンハンサーでこのような問題を抱えていた

...

ブレイクアウェイを使用していますか知っている誰のために、あなたはそれをミュートする(タスクバーの)ツールバーの-ダブルクリックする必要があります。 Breakawayがサウンドパイプラインで動作する方法は、他の標準のAHKミュートスクリプトでは機能しません。そのため、マウスをツールバーに移動してダブルクリックすることは、実際にはミュートの唯一の方法です。私は、Caps Lockがオーディオをミュート(またはミュート解除)するようにしたいと考えていました。私はこれがそうここに、ゲイリーのポストまで、複数のモニタで動作するように取得しようとしている無数の問題を持っていた

は、他の誰同様の問題が発生するための私のソリューションです:

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