2015年3月15日日曜日

AHK マウスカーソルの形状を調べる関数

このページにあった 正確には関数を実行し、現在のマウスカーソルをキャプチャーして前にキャプチャーor 保存しておいたマウスカーソルの画像と比較して判定を出すものらしい

Compare current cursor to saved image
http://www.autohotkey.com/board/topic/73686-compare-current-cursor-to-saved-image/

このページのchaidyという人が公開してるスクリプトの

CaptureCursor("testCursor.bmp")
IsMatchCursor("testCursor.bmp")

この2つの関数を使う CaptureCursorの引数が現在のマウスカーソルを保存するときのファイル名。
保存場所はスクリプトの実行フォルダー。
 キャプチャーしたファイルをIsMatchCursorの引数に入れたファイルと比較する 同じ画像なら1を返す 違うなら0 非表示だったら""を返す。

みたいな感じだと思う CaptureCursorでキャプチャーした画像はbmpで保存されるのでそれを適当なフォルダーに保存しておいてIsMatchCursorの引数に保存したフォルダーのパスを入れて比較するという形で使ってみたが問題なく動いた。

AutohotkeyのA_Cursorだと形状が判別できないものがでてくるのでこれを使った。
 Clip Studio Paintのアイコンを判別させてこのアイコンの状態なら特定の動作をする、みたいなスクリプトを書いた時に使った。非常に便利。