指定したウィンドウを閉じます。
WinClose WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText
もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleに ウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。
ExcludeTitleとExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleとWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。
ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。
省略されたときは、すぐにウィンドウを閉じます。そうでないときは、ウィンドウを閉じるまでの秒数(小数点を含む)を指定します。その期間内にウィンドウが閉じなければ、スクリプトは続行されます。
グループモードが使用されている場合を除き、ウィンドウが見つからなかった場合はTargetErrorがスローされます。
ウィンドウが見つかっても閉じられない場合は例外がスローされないので、ウィンドウが閉じたかどうかを確実に判断する必要がある場合は、WinExistまたはWinWaitCloseを使用してください。
この関数はウィンドウを閉じるメッセージを送信する。結果はウィンドウに依存する(データの保存を求められるなど)。
一致するウィンドウがアクティブな場合、そのウィンドウは他の一致するウィンドウよりも優先して閉じられます。一般に、複数のウィンドウがマッチした場合、一番上の(最近使われた)ウィンドウが閉じられます。
ただし、WinTitleがahk_group GroupName(他の条件が指定されていない)の場合は、グループ内のすべてのウィンドウが対象となる。
関数が待機状態にある間、ホットキー、カスタムメニュー項目、またはタイマーによって新しいスレッドを起動することができます。
WinCloseはターゲット・ウィンドウにWM_CLOSEメッセージを送ります。別の方法として、次のようなメッセージを送ることもできます。Alt+F4を押したり、タイトルバーにあるウィンドウの閉じるボタンをクリックしたりするのと同じような効果があるため、異なる動作をするかもしれません:
PostMessage 0x0112, 0xF060,,, WinTitle, WinText ; 0x0112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE
WinCloseで閉じないウィンドウは、WinKillで強制的に閉じることができます。
WinKill、WinWaitClose、ProcessClose、WinActivate、SetTitleMatchMode、DetectHiddenWindows、ラストファウンドウィンドウ、WinExist、WinActive、WinWaitActive、WinWait、GroupActivate