組み込み変数

特殊文字

A_Space 単独の半角スペースを表すのに使う。AutoTrimも参照。
A_Tab 単独のTab文字を表すのに使う。AutoTrimも参照。
False 「0」。
「偽」を表すときに使う。
True 「1」。
「真」を表すときに使う。

スクリプト情報

A_AhkPath 現在のスクリプトを実行している実行ファイル(AutoHotkey.exe)のフルパス。

コンパイルされたスクリプトでは、レジストリに記録されたインストール先ディレクトリ内のAutoHotkey.exeのパスになる。
インストール先が取得できない場合は、空文字列になる。
A_AhkVersion AutoHotkeyのバージョンを「1.0.22」などの文字列で格納する。
実行ファイル化されたスクリプトの場合、コンパイルを行ったAutoHotkeyのバージョンになる。
「if A_AhkVersion >= 1.0.25.07」のようにして、バージョン番号の大小を比べることが可能。
A_IsCompiled 実行ファイル化されたスクリプトの場合「1」になる。
それ以外の場合は空になる。
環境変数名(PATHなど) AutoHotkey実行時の環境変数は普通の変数と同じようにアクセスできる。
1, 2, 3, ……及び 0 コマンドライン引数。
%0%には引数の数が格納される。
引数の渡し方などはスクリプトの項を参照。
A_WorkingDir 作業ディレクトリ。
ファイルの読み書きなどでデフォルトのディレクトリとなる。
SetWorkingDirコマンドで変更可能。
最後の「\」は除かれる。ただし、ドライブルートだけは例外。
A_ScriptName スクリプトのファイル名。
実行ファイル化されている場合、拡張子が「.exe」になる。
IfInString, A_ScriptName, .exeで、実行ファイル化されているかを判別できる。
A_ScriptDir スクリプトのあるディレクトリパス。
最後の「\」は除かれる。
A_ScriptFullPath スクリプトのフルパス
A_ThisLabel 現在のスレッドで最後に呼び出されたラベル名。
タイマー, GUIイベント, メニュー, ホットキー, ホットストリング, OnClipboardChange, OnExitで実行されたスレッドでは、割り当てられたラベル名画初期値になる。
Gosub/ReturnGotoでジャンプすると更新される。
A_ThisFunc 実行中の関数名。
不特定多数の関数からGosubで呼び出される可能性のあるサブルーチン内で、呼び出し元の関数を知ることが出来る。
A_LineNumber スクリプトの現在実行中の行番号。
ListLinesコマンドで表示される行番号と同じ。
A_LineFile 現在実行中の部分が書かれたスクリプトファイルのフルパス。
#Includeを使用していない場合は、常にA_ScriptFullPathと同じになる。
A_ExitReason OnExitで指定されたサブルーチンが終了前に呼び出されたとき、終了理由が格納される。
詳細はOnExit参照。

繰り返し処理関連

A_Index ループの実行回数。
1回目は1。 詳細はLoopの項参照。
A_LoopFileName, etc. file-loopで使用。
A_LoopRegName, etc. registry-loopで使用。
A_LoopReadLine file-read loopで使用。読み込んだ行の内容。
A_LoopField 文字列解析ループで使用。フィールド内容。

日付時刻

FormatTimeコマンドを使用することで、より多くの形式を使用できる。

A_YYYY,A_Year 現在日時の年を表す4桁の数字(...2004...)
A_MM,A_Mon 月を表す2桁の数字(01...12)
A_DD,A_MDay 日を表す2桁の数字(01...31)
A_MMMM 月の名称(...July...)
A_MMM 月を表す3文字の省略名(...Jul...)
A_DDDD 曜日を表す文字列(Sunday...)
A_DDD 曜日を表す3文字の省略名(Sun...)
A_WDay 曜日を表す1文字の数字(1...7)1が日曜
A_YDay 1年の中で何日目か(1...366)
ゼロサプライされないので、001...099...366のような形式にしたい場合は、「FormatTime, OutputVar, , YDay0」とする。
A_YWeek 西暦年と週番号をつなげたISO8601形式の文字列(...200453...)
1月1日を含む週が4日以上ある場合、その週が第1週に、そうでない場合は次の週が第1週になる。
A_YDay 1月1日からの日数を表す1〜3桁の数(1...366)
A_Hour 時を表す2桁の数字(00...23)
A_Min 分を表す2桁の数字(00...59)
A_Sec 秒を表す2桁の数字(00...59)
A_MSec ミリ秒を表す3桁の数字(000...999)。
A_Now 現在時刻をYYYYMMDDHH24MISSの書式で表したもの
A_NowUTC UTC時刻をYYYYMMDDHH24MISSの書式で表したもの
A_TickCount OSが起動してからの経過時間(ミリ秒)

スクリプト設定

A_IsSuspended スクリプトがSuspendコマンドでサスペンドされている場合は「1」になる。それ以外の場合は「0」。
A_BatchLines SetBatchLinesで設定した処理速度。
A_TitleMatchMode SetTitleMatchModeで指定したウィンドウタイトルのマッチ方式。(1/2/3)
A_TitleMatchModeSpeed SetTitleMatchModeで指定したウィンドウタイトルマッチの種類。(fast/slow)
A_DetectHiddenWindows DetectHiddenWindowsで指定した、非表示ウィンドウの検出の有無。(On/Off)
A_DetectHiddenText DetectHiddenTextで指定した隠しテキスト検出の有無(On/Off)
A_AutoTrim AutoTrimで指定した、引数の前後の空白を自動除去するかどうか。(On/Off)
A_StringCaseSense StringCaseSenseで指定した、大文字小文字区別の有無。(On/Off/Locale)
A_FormatInteger SetFormatで指定した整数値の書式(H/D)
A_FormatFloat SetFormatで指定した小数値の書式
A_KeyDelay SetKeyDelayで指定した、キー入力の間隔。(ミリ秒)
A_WinDelay SetWinDelayで指定した、ウィンドウ操作の間隔。(ミリ秒)
A_ControlDelay SetControlDelayで指定したGUIコントロール操作の間隔。(ミリ秒)
A_MouseDelay SetMouseDelayで指定した、マウス操作の間隔。(ミリ秒)
A_DefaultMouseSpeed SetDefaultMouseSpeedで指定した、マウスの移動速度のデフォルト。(0...100)
A_IconHidden トレイアイコンが非表示になっているかどうか。(0=表示、1=非表示)
#NoTrayIcon指令やMenuコマンドでアイコン非表示にできる。
A_IconTip Menu, Tray, Tip somestring」でトレイアイコンのツールチップを指定したとき、その内容
A_IconFile Menu, tray, icon iconfilename.ico」でトレイアイコンを指定した場合、そのファイル名
A_IconNumber アイコンファイルにアイコンが含まれていれば、その数

待機経過時間

A_TimeIdle 最後に何らかの入力があってからの経過時間をミリ秒で格納。(NT系専用)
PCが放置されているときにアクションを起こすのに使える。
何らかのプログラムが生成した入力イベントでもリセットされてしまう。
A_TimeIdlePhysical A_TimeIdleと同じだが、キーボードHookマウスHookが使用されていると、プログラムが発生させた入力イベントを無視できる。

ホットキー・GUI関連

A_ThisMenu A_ThisMenuItemのアイテムが入っていたメニュー名を格納。
A_ThisMenuItem 最後に選択されたメニューアイテム名が格納される。
詳細は、Menuコマンド参照。
複数のメニューアイテムに一つのサブルーチンを割り当てる場合などに使用。
A_ThisMenuItemPos A_ThisMenuItemのアイテムがA_ThisMenu内で何番目にあったかを格納する。
一番上は「1」。セパレーターもカウントされる。A_ThisMenuやA_ThisMenuItemが削除された場合、この変数は空になる。
A_ThisHotkey 最後に実行されたホットキーのラベル名が格納される。(Win+Aなら「#a」)
ホットキーサブルーチンの実行中に他のホットキーが割り込んでくると、この値は変更されてしまうため、必要ならサブルーチンのはじめの方で別の変数にコピーすること。
A_PriorHotkey 一つ前のホットキー
A_TimeSinceThisHotkey A_ThisHotkeyの発生から経過した時間(ミリ秒)。A_ThisHotkeyが空なら-1。
A_TimeSincePriorHotkey A_PriorHotkeyの発生から経過した時間
A_EndChar 一番最近のスクリプト実行型ホットストリングを発動させた終了キー。
「*」オプションにより終了キーが不要になっていた場合は、空白になる。
A_GUI 現在のスレッドを呼び出したGUIウィンドウの番号。
現在のスレッドがGUI上のイベントで呼び出されたのでない場合、空になる。
A_GuiControl 現在のスレッドを呼び出したGUIコントロール。
コントロールに「V」オプションで変数が関連付けられている場合、その変数名が格納される。変数が関連付けられていない場合、コントロールのテキストが最大63文字格納される。
この変数に格納された値は、GuiControlコマンドのControlID引数で使用できる。
現在のスレッドがGUIコントロールの操作イベントで呼び出されたのでない場合は空になる。
A_GuiWidth GuiSizeイベントが呼び出されたときの当該GUIウィンドウの横幅。
現在のスレッドがGuiSizeイベント以外で呼び出された場合は、不定もしくは未定義になる。
A_GuiHeight GuiSizeイベントが呼び出されたときの当該GUIウィンドウの高さ。
A_GuiX 一部のGUI関連イベントでマウスカーソルの横座標をウィンドウの左端からの相対座標で格納する
A_GuiY 一部のGUI関連イベントでマウスカーソルの縦座標をウィンドウの上端からの相対座標で格納する
A_GuiEvent 現在のスレッドがGUIのどんな操作によって呼び出されたか。
内容は以下のどれか
(空)
現在のスレッドがGUIのアクションとして呼び出されたものでない場合
Normal
コントロールのシングルクリックやそのほかのキーストロークによって呼び出された場合。
メニューバー配下のメニューアイテムの実行や、GuiEscape、GuiCloseイベントとして実行された場合でも、この値が割り当てられる。
DoubleClick
ダブルクリックの2回目のクリックによって呼び出されたときにこの値が割り当てられる。(1回目のクリックでは、Normalが割り当てられたスレッドが実行される)
スライダーの操作を表す値
Sliderコントロールに割り当てられたラベルが実行された場合、どのような操作で値が変更されたかを示す値が格納される。
ファイル名
GuiDropFilesイベントで呼び出された場合、ファイル名が改行区切りで格納される。
その他
GUIコントロールのタイプによっては、ほかの値が返される場合もある。「DoubleClickでなければ通常の実行」などの判定を行うことは推奨されない。
A_GuiControlEvent A_GuiEventと同じ
A_EventInfo 現在のスレッドが呼び出されたイベントに関する追加の情報を格納する。
追加の情報を持たないイベントでは、「0」になる。

OS及びユーザー情報

A_OSType Windows9x系なら「WIN32_WINDOWS」、NT系なら「WIN32_NT」。
A_OSVersion "WIN_VISTA", "WIN_XP", "WIN_2000", "WIN_NT4", "WIN_95", "WIN_98", "WIN_ME".
A_Language システムの言語をあらわす4桁の16進数値。
値と言語の対応はlanguage tableを参照。日本語は「0411」。
A_ComputerName 現在のコンピュータのネットワーク上での名前
A_UserName ログインしているユーザー名
A_IsAdmin ユーザーが管理者権限を有している場合「1」、管理者権限がない場合「0」。9x系では常に「1」。
ComSpec コンソールシェル(多くの場合「cmd.exe」)のフルパス。
A_WinDir Windowsディレクトリのパス。(例:C:\Windows)
A_ProgramFiles
ProgramFiles
Program Filesディレクトリのパス。(例:C:\Program Files)
A_AppData Application Dataフォルダのフルパス。
A_AppDataCommon 全ユーザー共通のApplication Dataフォルダのフルパス。
A_Temp テンポラリフォルダのフルパス。
A_Desktop デスクトップフォルダのフルパス。
A_DesktopCommon AllUsersの共通デスクトップフォルダのフルパス。
A_StartMenu スタートメニューフォルダのフルパス。
A_StartMenuCommon AllUsersの共通スタートメニューフォルダのフルパス。
A_Programs スタートメニューの「プログラム」フォルダのフルパス。
A_ProgramsCommon AllUsersの共通スタートメニューの「プログラム」フォルダのフルパス。
A_Startup スタートアップフォルダのフルパス。
A_StartupCommon AllUsersの共通スタートアップフォルダのフルパス。
A_MyDocuments My Documentsフォルダのフルパス。
この変数だけは、ドライブのルートが設定されているとき、最後の「\」が除かれて「D:」のようになる。
A_ScreenWidth 画面の横幅。
マルチモニタ環境での第2モニタ以降やデスクトップ全体の寸法を得るには、SysGetコマンドを使用する。
A_ScreenHeight 画面の高さ
A_IPAddress1...A_IPAddress4 1番目から4番目のネットワークアダプタのIPアドレス

A_Cursor 現在のマウスカーソルの種類。以下の文字列のどれか。
AppStarting, Arrow, Cross, Help, IBeam, Icon, No, Size, SizeAll, SizeNESW, SizeNS, SizeNWSE, SizeWE, UpArrow, Wait, Unknown.
Size??の??は方角を表す。 ブラウザでリンクをポイントしたときなどに使われる手の形のカーソルは、Unknownとして扱われる。
A_CaretX キャレット(テキスト入力カーソル)のX座標。
通常はアクティブウィンドウの左上からの座標だが、「CoordMode,Caret,Screen」というコマンドを実行すると、スクリーン上での座標になる。
キャレットがない場合や座標が取得できない場合は空白になる。
A_CaretY キャレットのY座標
Clipboard クリップボードのテキスト。
Clipboardを参照。
ClipboardAll クリップボードの全内容。
通常の変数とは扱いが大きく異なる。
Clipboardを参照。
ErrorLevel ErrorLevel参照。
A_LastError DllCallやRun,RunWaitの実行後に、「GetLastError()」APIが返すエラーコードを格納する。