AutoHotkeyのスクリプトの実行には、AutoHotkey.exeで実行する方法と、Ahk2exe.exeで実行ファイルに変換してから実行する方法の2通りの方法がある。
AutoHotkeyをインストーラーでインストールすると、拡張子「.ahk」のファイルに関連付けが行われ、エクスプローラでスクリプトファイルをダブルクリックしたときなどにAutoHotkey.exeで実行されるようになる。
右クリックメニューには、スクリプトを実行する「Run Script」の他、後述のahk2.exeで実行ファイル化する「Compile Script」、notepad.exeでスクリプトファイルを開く「Edit Script」が追加される。
また、スクリプトファイルのアイコンにファイルをドラッグ&ドロップしたときに、スクリプトファイルに引数(%1%)として送られる。
AutoHotkeyのコマンドラインの書式は以下の通り。
AutoHotkey.exe [Switches] [Script Filename] [Script Parameters]
CompiledScript.exe [Switches] [Script Parameters]
Switchesには以下のものを指定。
Script Filenameを省略した場合は、起動時の作業ディレクトリのAutoHotkey.iniが読み込まれる。
ファイルが存在しない場合、デフォルトのファイルを作成するかをたずねるダイアログが出る。
スクリプトに引数を渡したい場合は、必ずScript Filenameを指定する必要がある。
Script Parametersには任意の数の文字列をスペース区切りで渡せる。
スペースを含む場合は「"」で囲む。
渡された引数は、変数に格納され、スクリプト内で「%1%」、「%2%」……というふうにして参照できる。
「%0%」には引数の数が格納される。
なお、スクリプト自身のパスを取得するには「%A_ScriptFullPath%」変数を使用する。
スクリプトのエラーには、読み込み時のエラーと実行時のエラーがある。
存在しないコマンドや関数の呼び出し、コマンドの書式間違い、存在しないラベルの指定、開き括弧と閉じ括弧の対応の不備などが読み込み時エラーとなる。
これらの問題のあるスクリプトを実行しようとすると、エラー箇所やエラー概要などがダイアログで表示され、実行は行われない。
スクリプトの実行中にコマンドが何らかの形で失敗した場合などには、実行時エラーとなる。
実行時エラーが発生すると、ダイアログが表示され、エラーの発生したスレッドはその場で終了する。
ホットキーなどが割り当てられて常駐状態になっているスクリプトでは、スクリプト自体は終了しない。しかし、スクリプトが期待通りに実行されなかったことで、その後の実行に支障を来す場合がある。
タスクトレイアイコンの右クリックメニューから「Reload This Script」を実行することで、スクリプトを読み込み直して実行できる。
また、常駐状態になっているスクリプトは、同じスクリプトをもう一度起動することで、「既存のプロセスを終了して起動するか」を問い合わせるダイアログが表示され、「はい」を選ぶことで再読込する。
Reloadコマンドでスクリプト中から再読込を行わせることも可能。
ahk2exe.exeを使うことで、スクリプトを実行ファイル化することが可能。
実行ファイルはUPXによる圧縮が施される。
逆コンパイラも公開されているが、パスワードで暗号化すれば逆コンパイルを防げる。
作成した実行ファイルの配布は自由。
コンパイルされたスクリプトでは通常、タスクトレイメニューからメインウィンドウを表示することは出来ない。
「Menu,TRAY,MainWindow
」でメインウィンドウを表示可能にできる。
スクリプト側から、コンパイルされた状態で実行されているかどうかを知るには、「A_IsCompiled」変数を使用する。「1」ならコンパイルされている。
Ahk2exe.exeはコマンドラインから直接コンパイルを実行することも可能。
Ahk2exe.exe /in <infile.ahk> [/out <outfile.exe>][/icon <iconfile.ico>][/pass <passphrase>]