MouseMove

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

MouseMove X, Y , Speed, Relative

パラメータ

X, Y

Type: Integer

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

Speed

Type: Integer

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

Speedの設定は、SendInput関数とSendPlay関数では無視され、マウスは瞬時に移動します。(ただし、SetMouseDelay関数には、SendPlayに適用されるモードがあります。)マウスをよりゆっくり動かしたい場合、たとえば視聴者にデモを行うスクリプトなどでは、SendEvent "{Click 100 200}"SendMode "Event"を使用し、オプションでBlockInputを併用してください。

Relative

型:文字列

空白または省略されたときは、X、Y座標は絶対座標になります。そうでなければ、次の文字を指定します:

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

備考

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

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

BlockInput関数を使用すると、ユーザーによる物理的なマウス操作が、マウス関数によって生成されるシミュレーションマウスイベントを妨害することを防ぐことができます。However, this is generally not needed for the modes SendInput and SendPlay because they automatically postpone the user's physical mouse activity until afterward.

マウスを動かすたびに自動で遅延が発生します(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"