DetectHiddenWindows

Legt fest, ob das Skript unsichtbare Fenster "sehen" kann.

DetectHiddenWindows, OnOff

Parameter

OnOff

On: Versteckte Fenster werden erkannt.

Off: Standardverhalten. Versteckte Fenster werden nicht erkannt, außer von WinShow.

[v1.1.30+]: Es ist möglich, die dezimalen Werte 1 und 0 anstelle von On bzw. Off zu verwenden.

Bemerkungen

Das Einschalten von DetectHiddenWindows kann dazu führen, dass der gesuchte Titel oder Text ungewollt mit einem versteckten Systemfenster übereinstimmt. Daher sollten die meisten Skripte diese Einstellung ausgeschaltet lassen. Diese Einstellung wird in der Regel verwendet, um direkt auf versteckte Fenster zuzugreifen, ohne diese vorher mit WinShow sichtbar zu machen.

Alle Befehle, internen Funktionen und Kontrollanweisungen, die mit Fenstern agieren, außer WinShow, sind von dieser Einstellung betroffen, einschließlich WinActivate, WinActive(), IfWinActive, WinWait, WinExist() und IfWinExist. Beachten Sie, dass WinShow immer in der Lage ist, ein verstecktes Fenster sichtbar zu machen, unabhängig von dieser Einstellung.

Das Einschalten von DetectHiddenWindows ist nicht erforderlich, wenn ein Steuerelement oder untergeordnetes Fenster via ahk_id angesteuert oder das zuletzt gefundene Fenster verwendet wird. Dies gilt auch für GUI-Fenster, die via Gui +LastFound angesteuert werden.

[v1.1.32+]: Getarnte Fenster werden auch als versteckt angesehen. Getarnte Fenster, die mit Windows 8 eingeführt wurden, sind Fenster auf einem inaktiven virtuellen Desktop oder UWP-Anwendungen, die zur Verbesserung der Leistung, genauer gesagt zur Verringerung ihres Speicherverbrauchs, unterbrochen wurden. In Windows 10 werden die Prozesse solcher Fenster mit einem grünen Blatt im Task-Manager angezeigt. Solche Fenster sind trotz WS_VISIBLE-Style für den Benutzer verborgen. Früher vor v1.1.32 war es so, dass alle Fenster mit dem WS_VISIBLE-Style als sichtbar behandelt wurden.

Die interne Variable A_DetectHiddenWindows enthält die aktuelle Einstellung (On oder Off).

Jeder neu gestartete Thread (z. B. ein Hotkey, ein benutzerdefinierter Menüpunkt oder eine zeitgesteuerte Subroutine) verwendet vorerst die Standardeinstellung des Befehls. Um diese zu ändern, muss der Befehl im automatischen Ausführungsbereich (ganz oben im Skript) angegeben werden.

DetectHiddenText

Beispiele

Schaltet die Erkennung von versteckten Fenstern ein.

DetectHiddenWindows, On