既定ではMy DocumentsフォルダにAutoHotkey.ahkというファイルが作成され、それがスクリプトのファイルとなります。例外として作業ディレクトリにスクリプトファイル名のファイルがある場合には、そちらが読み込まれます。これを任意のファイルとするには、起動時にコマンドラインから
AutoHotkey.exe C:\myScript.ahk
のように指定します。この方法の詳細については、コマンドライン パラメータで解説しています。
またスクリプト内から別のスクリプトを読み込むには、#Includeを用います。
スクリプト ファイルの文字エンコーディングは、インストールしたバージョンのそれに合わせる必要があります。
AutoHotKeyのタスクトレイのメニューで「Edit This Script」を実行したときに起動するエディタを、メモ帳から任意のものに変更できます。
設定の変更にはレジストリエディタを使用します。
[HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command]へ移動し、既定のキーの値にエディタのパスを設定します。
もしレジストリにこのキーがなく設定できないならば、スクリプトによって対処します。それには、
Menu, Tray, Add, Edit This Script by My Editor, Menu_EditScript
のようにメニューに新しい項目を追加し、その処理で指定のエディタで現在のスクリプト ファイルを開きます。
Menu_EditScript: Run, C:\myNotepad.exe %A_ScriptFullPath% return
組み込み変数のA_Space
か、" "
で指定します。文字列を要求される文脈ではこれらがそのまま文字列と解釈されてしまうため、% A_Space
や% " "
と記述します。
既定でバッククォート (`) です。
改行文字は「\n
」ではなく「`n
」とします。これは既定でバッククォート (`) がエスケープ文字として利用されているからであり、不満ならば#EscapeCharにより変更できます。Splitting a Long Line into a Series of Shorter Ones - AutoHotkey Scripts and Macros
これは他の制御文字も同様です。
`t
… tab`n
… linefeed`r
… carriage returnラベルには次の3つがあり、それぞれラベル名の前後のコロンにより区別されます。
ラベルの種類 | 書式 | 用途 |
---|---|---|
ラベル Labels | LabelName: |
GotoやGosubの目的地 |
ホットキー ラベル | LabelName:: |
キーの押下によるスクリプトの起動 |
ホットストリング ラベル | ::LabelName::※1 |
文字列の入力によるスクリプトの起動 |
ホットキーとホットストリングはラベル名に続けてスクリプトを記述できますが、ただのラベルはラベル名の後で改行する必要があります。
ラベルに使用できる文字は、
です。またアルファベットは、大文字/小文字の区別はされません。
次の条件を満たすものが、コメントとみなされます。Comments in Scripts - AutoHotkey Scripts and Macros
/*
から始まる行から、*/
で始まる行まで (スペースまたはタブが先行しても良い)以下に例を挙げます。
スクリプト例 | 有効/無効 | 理由 |
---|---|---|
MsgBox,TEST;comment |
× | セミコロンの前にスペースがない |
MsgBox,TEST ;comment |
○ | |
MsgBox,TEST /*comment*/ |
× | /* が行頭にない |
/*comment*/ |
× | */ が行頭にない |
/* comment*/ |
× | */ が行頭にない |
/*comment */ |
○ |
スクリプトは読み込まれると、先頭の行から実行されます。そして、
のいずれかに達するまで実行されます。この最初に実行されるスクリプトの部分を、自動実行セクションと呼称します。
The Top of the Script (the Auto-execute Section)