AutoHotKeyでマウスを制御できる。
たとえば、キーボードやゲームパッドのボタンが押されたのを検出して、
あらかじめ指定しておいた座標をマウスクリックすることができる。
使用例1) ゲームパッドのボタン%が押されたら、(x,y) = (511,690)をクリックし、
元の位置にマウスを戻す。
Joy5::
MouseGetPos,cx,cy ; 現在のマウス座標を記憶
MouseClick,,511,690,2,0 ; 指定位置をクリックする。最後のパラメータは速度。0推奨
Sleep,50
MouseClick,,cx,cy,2,0 ; クリックが終ったら、ボタンを押した瞬間の座標にマウスポインタを戻す。
return
使用例2) ボタンが押されたら、画面の指定座標範囲が「真っ黒じゃなくなるまで」まち、
真っ黒になったらクリックする。
たとえば、横幅1680の画面に対しviewportを1024x768に設定、
ルートウィンドウをあらかじめ画面の一番右上に開くようにする。
ゲームパッド1をルートボタンに設定する。ルートボタンが押されたらルートウィンドウが開くまで待ち、
ルートウィンドウが開いたら、「Get All」のボタンの位置をクリックする。
Joy1::
w_count := 0
Loop,20
{
PixelSearch, Px, Py, 1640, 30, 1640, 30, 0x00000000, 3, Fast
if (ErrorLevel != 0)
{
ToolTip,Loot detected 1.
Click, 1524,150
ToolTip,Loot completed 2.
return
}
sleep 50
w_count += 1
ToolTip, %w_count%
}
return
ちなみに、マウスのx,y座標を取得するには、起動中のAutoHotKeyを右クリックして
「Window Spy」を立ち上げる。現在のマウスカーソル位置の情報が取得できるので、
手打ちでスクリプトに書く。
または、AutoHotkeyインストール先の「AutoScriptWriter(recorder)」で、
マウスの挙動を記録する。記録されたスクリプトの中から、必要なマウスクリックの行だけコピーする。
AutoHotKeyで複数PCを操作
;Ctrl+LをMPCで言語の選択に、その他はデフォルトのままに
#IfWinActive
, ahk_class MediaPlayerClassicW
^L:: Send, !nu
#IfWinActive
,
Send,^L
return
;Ctrl+JをMPCでジャンプに、その他はデフォルトのままに
#IfWinActive
, ahk_class MediaPlayerClassicW
^J:: Send, !nj
#IfWinActive
,
Send,^j
return
;マウス中クリック
;秀丸とサクラエディタでタブを閉じる
MButton::
IfWinActive, ahk_class Hidemaru32Class
Send, {RButton}c
IfWinActive, ahk_class TextEditorWindow
Send, {RButton}c
else
Send,{MButton}
return
最終更新:2012年07月07日 22:27