ウィンドウの指定方法

下表のいずれかの方法で指定できます。

コード 対象
Title ウィンドウのタイトル。マッチ方法はSetTitleMatchModeによる 無題 - メモ帳
A アクティブなウィンドウ  
ahk_class WindowClass ウィンドウのクラス名 ahk_class Notepad
ahk_id UniqueID ユニークID (ウィンドウ ハンドル/HWND)  
ahk_pid ProcessID プロセスID  
ahk_exe ProcessName プロセス名/パス ahk_exe notepad.exe
ahk_group WindowGroup ウィンドウ グループ  
(未指定) 特定のコマンド※1で、最後に見つかったウィンドウ  

※1 特定のコマンドには以下が該当します。

  • IfWin[Not]Exist
  • WinExist()
  • IfWin[Not]Active
  • WinActive()
  • WinWait[Not]Active
  • WinWait

複数の条件の指定

スペースまたはタブ区切りで、複数の方法を同時に指定することもできます。そのときタイトルを条件に含むならば、必ず最初に指定します。Multiple Criteria - WinTitle & Last Found Window

; タイトルが、置換で
; クラス名が、#32770 (ダイアログボックス) で
; プロセス名が、notepad.exeにマッチさせる
IfWinExist, 置換 ahk_class #32770 ahk_exe notepad.exe
{
}

アクティブなウィンドウを指定する"A"は、複数の条件に含められません。そもそもアクティブなウィンドウは1つのため、複数の条件を指定する必要がありません。

一般的なクラス名

クラス名 対象
#32768 メニュー
#32769 デスクトップ ウィンドウ
#32770 ダイアログボックス
#32771 タスク スイッチ ウィンドウ
#32772 アイコン タイトル
System Classes - About Window Classes (Windows) | MSDN

一般的なクラス名だけでは意図しないウィンドウが指定される恐れがあるため、他の条件も合わせて指定するようにします。

クラス名やプロセス名の確認方法

コマンドから

  • ユニークIDやプロセス名 … WinGet
  • ウィンドウのクラス名 … WinGetClass

アプリケーションから