ahk2exeによりスクリプトをコンパイルすることで、AutoHotKeyのスクリプトをスタンドアローンの実行可能ファイルにできます。こうすることでAutoHotKeyがインストールされていない環境でも、スクリプトを実行できるようになります。
このコンパイラを使用するには、AutoHotKeyのインストール時に[Script Compiler]のコンポーネントがインストールされている必要があります。
実行時のエラーは、AutoHotkey.exeから実行したときと同様に表示されます。
コンパイルには、
の3つの方法があります。
コマンドプロンプトから、Ahk2Exe.exeを実行します。
Ahk2Exe.exe /in MyScript.ahk /icon MyIcon.ico
Ahk2Exe.exe /in MyScript.ahk [/out MyScript.exe] [/icon MyIcon.ico] [/bin AutoHotkeySC.bin] [/mpress 0 or 1]
パラメータ | 説明 |
---|---|
/in | コンパイルするスクリプト ファイル名 |
/out | コンパイル結果の実行ファイル名 |
/icon | アプリケーションのアイコン
アイコンに指定できるのは、.icoフォーマットのファイルのみ |
/bin | ベース ファイル
|
/mpress | 1とすると、実行ファイルをMPRESSで圧縮する |
/cp | codepage |
※1 32bit環境での使用も想定するならば、32bitを選択します。
MPRESSは、次のページから入手できます。
MPRESS - Free high-performance executable packer for PE32/PE32+/.NET/MAC-OS-X
ダウンロードしたファイルを展開し、そこに含まれるmpress.exeをAutoHotKeyのインストール フォルダにあるCompilerフォルダに移動します。
たとえば、
MsgBox
という1行のスクリプトをコンパイルしたとき、そのファイルサイズは
のように小さくなります。
Unicode 64bit以外のコンパイルにMPRESSを使用すると、作成されたファイルはNortonによってマルウェア (Suspicious.Cloud.5) とみなされることがあります。
スタートメニューから[Convert .ahk to .exe]を起動します。このツールでは、前述のコマンドラインでの処理をGUIで行えます。
[Convert]したときに、Error: Unable to copy AutoHotkeySC binary file to destination.としてエラーとなるときは、先にコンパイルした同名の実行ファイルが実行中ではないか確認します。
エクスプローラーで.ahkファイルを右クリックし、[Compile Script]を実行します。
作成される実行ファイルの名前はスクリプトのそれと同じで、その他の設定は前述の2つの方法で最後に実行されたときの設定を引き継ぎます。
作成された実行ファイルのバージョン番号は、コンパイルに用いたAhk2Exeのバージョン番号が設定されます。これはコンパイル時に指定したAutoHotkeySC.binなどのファイルで定義されているため、これを編集することでバージョン番号を変更できます。
編集はResource Hackerで行え、編集後のファイルをコンパイル時に/binで指定します。
逆コンパイル用のExe2Ahkというツールが提供されていますが、これはAutoHotkey 1.0 (AutoHotkey Basic) 用であり、それ以降では動作しません。
Exe2Ahk.exe CompiledScript.exe [password]