スクリプトにホットキーを組み込む

Win32APIを利用すればAAスクリプトに任意のホットキーを組み込むことができます。
今回利用するのは次のGetKeyState関数です。


戻り値は、指定された仮想キーの状態を表します。各値は次のことを意味します。
  • 最上位ビットが 1 のときはキーが押されていることを、0 のときはキーが押されていないことを示します。
  • 最下位ビットが 1 のときはキーがトグル状態にあることを示します。最下位ビットが 0 のときはキーが OFF になっていて、トグルが解除されていることを示します。

AAスクリプトではこの関数を次のように呼び出すことができます:
push 仮想キーコード
call GetKeyState

この関数を利用することであるキーを押した時にだけ動作するようなスクリプトを作成することができます。
キーが押されているかどうかは戻り値に対してTEST命令でフラグのチェックを行っています。
test命令の扱い方が分からない方はアセンブラ入門:TEST命令を参照してください。

例1: F1キーを押している間だけONにするスクリプト
pushad
push 70 // F1キー
call GetKeyState
test ax,8000
popad
je originalcode

例2: F2キーを押すたびにON/OFFを切り替える場合のスクリプト
pushad
push 71 // F2キー
call GetKeyState
test ax,1
popad
je originalcode
最終更新:2014年10月29日 11:56