UWSC をAutoit に書き換え挑戦(マウス座標取得 絶対と相対座標)

拾い物のUWSCでマウスの座標(絶対、相対)を随時表示するものです。
これを書き換えたい。こちらのサイトにソースコードあります。

 座標の違いと取得方法(絶対・相対・オブジェクト) – UWSCでネトゲマクロ

 

スポンサーリンク

ToolTip をLoopすると表示が点滅されてします

;----------------------------------------------
;   座標取得
;----------------------------------------------
_pos()
Func _pos()

    Local $mpos_x = 0
    Local $mpos_y = 0
    Local $msg = ""

    while 1        
        $mpos_x = MouseGetPos(0)
        $mpos_y = MouseGetPos(1)
        
        $msg = "X座標= " & $mpos_x & @CRLF & _
               "Y座標= " & $mpos_y

        ToolTip($msg)
        ;Sleep(350)
    WEnd
EndFunc

 

マウスが移動したときのみToolTipを書き換え(絶対座標)

マウス座標

;----------------------------------------------
;   座標取得
;----------------------------------------------
_pos()

Func _pos()

    Local $mpos_x = 0
    Local $mpos_y = 0

    Local $beforX = 0
    Local $beforY = 0
    
    Local $msg = ""

    while 1        
        $mpos_x = MouseGetPos(0)
        $mpos_y = MouseGetPos(1)
        
        $msg = "X座標= " & $mpos_x & @CRLF & _
               "Y座標= " & $mpos_y
        If $mpos_x <> $beforX Or $mpos_y <> $beforY Then
            ToolTip($msg)
        EndIf
        Sleep(250)
        $beforX = $mpos_x
        $beforY = $mpos_y
    WEnd

EndFunc

If文で前回の座標と同じなら、ToolTipを書き換えません(飛ばす)

XY相対座標得る(X変で修正)

Windows10のウィンドウ見えないけど周りに数ピクセルあるみたい??

; ----------------------------------------------
;   XY座標 取得
; ----------------------------------------------

HotKeySet ( "{ESC}" , "_Exit" ) ;終了
_pos()

while 1
    Sleep(300)
WEnd
;------------------------------------------------------------------
Func _pos()

    Local $mpos_x = 0
    Local $mpos_y = 0
    $msg = ""

    ;SplashTextOn("マウス座標",$msg,200,80,$mpos_x,$mpos_y + 80,4,"",18)
    ;動かすことはできない
    SplashTextOn("マウスの座標/ESC終了", $msg, 200, 80, 25, 25, 4, "", 18)

    while 1
        AutoItSetOption ("MouseCoordMode",2) ;x変なのでクライアント座標を使う
        $mpos_x = MouseGetPos(0)
        AutoItSetOption ("MouseCoordMode",0) ;相対座標
        $mpos_y = MouseGetPos(1)
        
        $msg = "X座標= " & $mpos_x & @CRLF & _
               "Y座標= " & $mpos_y

        ControlSetText("マウスの座標", "", "Static1", $msg)
        Sleep(300)
    WEnd
EndFunc
;------------------------------------------------------------------
Func _Exit()
    MsgBox(262144,"","終了",2) ;最前面
    Exit
EndFunc

参考サイト:10_2win.png (931×432)
https://www.webtech.co.jp/blog/wp-content/uploads/2015/09/10_2win.png

コメント

タイトルとURLをコピーしました