不可視のウィンドウがスクリプトによって「見える」かどうかを決定します。
DetectHiddenWindows Mode
型:論理値
If true, hidden windows are detected.
If false, hidden windows are not detected, except by the WinShow function.
この関数は、前の設定を返します。0 (false)または1 (true)のいずれかです。
DetectHiddenWindows関数が使われないときは、初期値は0 (false)です。
DetectHiddenWindowsをオンにすると、隠れているシステムウィンドウの一部が、操作しようとしている他のウィンドウのタイトルやテキストと偶然に一致することがあるため、場合によってはスクリプトが難しくなることがあります。そのため、ほとんどのスクリプトはこの設定をオフのままにしておく必要があります。ただし、WinShowで非表示を解除することなく、直接非表示のウィンドウを操作したい場合は、この機能をオンにすると便利です。
WinShowを除くすべてのウィンドウ機能(WinActivate、WinActive、WinWait、WinExistなど)がこの設定の影響を受けます。これに対して、WinShowは隠しウィンドウが検出されない場合でも、必ず隠しウィンドウを解除します。
以下の場合は、DetectHiddenWindowsをオンにする必要はありません:
WinShow(A_ScriptHwnd)
or WinMoveTop(myGui)
, except with WinWait or WinWaitClose.また、クロークドウィンドウも隠し味として扱われます。Windows 8から導入されたクロークドウィンドウは、非アクティブな仮想デスクトップ上のウィンドウや、パフォーマンス向上、より正確にはメモリ消費を抑えるために中断されたUWPアプリのことです。Windows 10では、タスクマネージャーでそれらのプロセスが緑の葉で表示されます。このようなウィンドウは視界から隠れますが、WS_VISIBLEウィンドウのスタイルが残っている可能性があります。
内蔵変数A_DetectHiddenWindowsに現在の設定値(1または0)が格納されます。
新しく起動するスレッド(ホットキー、カスタムメニュー項目、時間指定サブルーチンなど)はすべて、この機能のデフォルト設定で新しくスタートします。このデフォルトは、スクリプト起動時にこの関数を使用することで変更することができます。