Home » マウス・キーボード » マウス座標を相対座標で指定する方法

マウス座標を相対座標で指定する方法

マウス座標を相対座標で指定するためにはMOUSEORG関数を利用します。

デフォルトでは指定したウィンドウの位置を基準に相対座標で指定できるのでレイアウトが固定されたウィンドウでマウス操作を自動化させたい場合に役立ちます。

しかし無理に相対座標を扱う必要もないので本当に必要か一度考えてみてください。

 

マウス座標を相対座標で指定するサンプル

id = EXEC("notepad.exe") // メモ帳を起動させる
MOUSEORG(id) // メモ帳を基準にする
MMV(0, 0) // 相対座標の0,0にマウスカーソルを移動

 

MOUSEORG関数リファレンス

MOUSEORG関数のリファレンスをマニュアルから転載します。

MOUSEORG( ID, [基準指定, 画面取得指定 ] )
引数
 ID: Windowを識別するID
 基準指定:
   0 (デフォルト): ウィンドウ位置
   MORG_CLIENT (1): クライアント領域の位置を基準にする
   MORG_DIRECT (2): 指定ウィンドウ(オブジェクト)へマウス、キー情報を直接送る(第1引数はウィンドウIDでもハンドル値でも可)
 画面取得指定: PEEKCOLOR()、CHKIMG()関数にて
   0 (デフォルト): 指定アプリがフォアグランドかバックグランドかにより検索画面の取得方法を変更
   MORG_FORE   : フォアグランドとして可視画面(デスクトップ)を検索画面とする
   MORG_BACK   : バックグランドとしてアプリより画面を取得して検索画面とする(他の画面がオーバーラップしていてもOK)

 ※ 以降のMMV()、BTN()、PEEKCOLOR()、CHKIMG()関数の座標を指定ウィンドウを基準にしたものにする
 ※ 基準指定にて MORG_DIRECTが指定された場合は KBD()、MMV()、BTN()関数の情報は直接ウィンドウ(オブジェクト)へ送る
 ※ スクリーン座標に戻す時はゼロを指定 MOUSEORG(0)
 ※ 有効範囲はスレッド単位