MMVマウスムーブ関数

本ページには広告が含まれています。

マウスカーソルを指定した座標に移動します。MMV関数でカーソルを移動させ続けてもWindowsのスリープ防止にはならないので注意してください。

構文
  1. void = MMV( x, y, ms )
引数
x, y (Integer)必須
位置
ms (Single = 0)省略可
実行までの待ち時間 (ミリセカンド)
戻り値

カーソル移動を滑らかにする

UWSC
PROCEDURE mouseMove(x1, y1, x2, y2, sec = 1)
	DEF_DLL GetTickCount(): dword: kernel32
	DIM t = GetTickCount()
	DIM dx = (x2 - x1) / 100
	DIM dy = (y2 - y1) / 100
	MMV(x1, y1)
	FOR i = 0 TO 100
		MMV(x1 + dx * i, y1 + dy * i)
		REPEAT
		UNTIL GetTickCount() - t >= i * (sec / 100) * 1000
	NEXT
	MMV(x2, y2)
FEND

使い方

  1. 画像image.bmpが見つかったらその場所にカーソルを移動する。

    UWSC
    IF CHKIMG("image.bmp",,,,,, -1) THEN MMV(G_IMG_X, G_IMG_Y)
  2. 円を描く。

    UWSC
    DIM a = G_SCREEN_W / 2
    DIM b = G_SCREEN_H / 2
    DIM r = 100
    
    FOR theta = 0 TO 360
    	DIM x = a + r * COS(degToRad(theta))
    	DIM y = b + r * SIN(degToRad(theta))
    	MMV(x, y)
    	SLEEP(0.001)
    NEXT
  3. 見つかった画像の位置をマウスカーソルで示す。

    UWSC
    DIM path = "D:\Desktop\quick.bmp"
    DIM arr = getBitmap(path)
    DIM num = CHKIMG(path, -1,,,,, -1)
    
    FOR n = 0 TO num - 1
    	PRINT ALL_IMG_X[n] + ", " + ALL_IMG_Y[n]
    	DIM a = ALL_IMG_X[n] + arr[1] / 2
    	DIM b = ALL_IMG_Y[n] + arr[2] / 2
    	DIM r = 5
    	
    	FOR theta = 0 TO 360 STEP 10
    		DIM x = a + r * COS(degToRad(theta))
    		DIM y = b + r * SIN(degToRad(theta))
    		MMV(x, y)
    		SLEEP(0.001)
    	NEXT
    NEXT

プログラム実行例

アクティブウィンドウの左上にカーソルを移動

UWSC
DIM ID = GETID(GET_ACTIVE_WIN)

DIM x = STATUS(ID, ST_X)
DIM y = STATUS(ID, ST_Y)

MMV(x, y)
使用関数
解説

マウスカーソルをランダムな位置に移動

UWSC
DIM x = G_SCREEN_W
DIM y = G_SCREEN_H

MMV(RANDOM(x), RANDOM(y))
使用関数

マウスカーソル下のウィンドウの左上の座標に移動する

UWSC
MOUSEORG(GETID(GET_FROMPOINT_WIN))
MMV(0, 0)

関連記事

GETKEYSTATE関数 (スクリプト関数)
GETKEYSTATE関数は、キークリック・マウスクリック・トグルキー情報を取得する関数です。引数に指定したキーコードに対応するキーのクリックがあった場合はTRUE、なかった場合はFALSEを返します。
LOCKHARDEX関数 (スクリプト関数)
MOUSEORG関数 (スクリプト関数)
マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送ります。
MUSCUR関数 (スクリプト関数)
MUSCUR関数は、マウスカーソルの種別を数値で返す関数です。引数はなく、戻値はInteger型です。