MouseMove

マウスカーソルを移動させます。

MouseMove X, Y , Speed, Relative

パラメータ

X, Y

型:整数

XとYの座標にマウスを移動させます。座標は、CoordMode関数を使用して変更した場合を除いて、アクティブウィンドウのクライアント領域を基準にしています。

Speed

型:整数

省略されたときは、SetDefaultMouseSpeedで設定された速度(設定されていないときは2)が初期値として使用されます。そうでないときは、マウスを動かす速度を0(最速) から100(最低)の範囲で指定します。スピードを0にすると、マウスが瞬時に動きます。

SendInput/PlayモードではSpeedは無視され、マウスは瞬時に移動します(ただし、SetMouseDelayにはSendPlayに適用されるモードがあります)。デモンストレーション用のスクリプトのためなどにマウスを視覚的にゆっくりと動かすには、SendEvent "{Click 100 200}"またはSendMode "Event"を使用します(必要に応じてBlockInputと組み合わせてください)。

Relative

型:文字列

If blank or omitted, the X and Y coordinates will be used for absolute positioning. そうでなければ、次の文字を指定します:

R:X、Y座標は、現在のマウス位置からのオフセットとして扱われます。つまり、カーソルは現在位置から右にXピクセル(負の場合は左)、下にYピクセル(負の場合は上)だけ移動します。

備考

SendModeで設定された送信方式を使用します。

SendPlayモードは、他のモードに比べ、より幅広いゲームにおいてマウスイベントを正常に発生させることができます。また、アプリケーションやゲームによっては、マウスの動きが速いと追従性が悪くなることがあります。speedパラメータまたはSetDefaultMouseSpeedを使用すると、速度を下げることができます(デフォルトのSendEventモードのみ)。

BlockInput関数を使用すると、ユーザーによる物理的なマウス操作が、マウス関数によって生成されるシミュレーションマウスイベントを妨害することを防ぐことができます。ただし、SendInput/Playモードでは、ユーザーの物理的なマウス操作を自動的に後回しにするため、一般にこの操作は必要ありません。

マウスを動かすたびに自動で遅延が発生します(SendInputモードは除く)。ディレイの長さを変更する場合は、SetMouseDelayを使用します。

以下は、特定のマルチモニター構成でより良く機能する可能性のある、マウスカーソルを移動する別の方法です:

DllCall("SetCursorPos", "int", 100, "int", 400)  ; 最初の数字はX座標、2番目の数字はY(画面からの相対座標)です。

なお、マウスカーソルは、hide-cursorの例で一時的に非表示にすることができます。

CoordModeSendModeSetDefaultMouseSpeedSetMouseDelayClickMouseClickMouseClickDragMouseGetPosBlockInput

マウスカーソルを新しい位置に移動します。

MouseMove 200, 100

マウスカーソルを現在位置から右に20ピクセル、下に30ピクセルだけゆっくり移動させます(速度50対2)。

MouseMove 20, 30, 50, "R"