; Die angegebene Datei in dieses Script einbinden, damit die Funktion zu automatischen suchen in einem 'TreeView' auch funktioniert.
#include <GUITreeView.au3>

    ; Den zu im Befehl „_GUICrtlTreeView_FindItemEx“ zu verwendenden Datenseperator festlegen.
Opt('GUIDataSeparatorChar’, '\')

    ; Das Dialogfeld zum ändern der 'Ordneroptionen' aufrufen.
Run('RunDll32.exe shell32.dll,Options_RunDLL 0’)
    ; Warten bis das Fenster existiert.
WinWait('Ordneroptionen', 'Allgemein')
    ; Dieses Fenster aktivieren.
WinActivate('Ordneroptionen', 'Allgemein')
    ; Warten bis das Fenster aktiviert ist.
WinWaitActive('Ordneroptionen', 'Allgemein')
    ; Einmal 'Pfeiltaste nach rechts' an das TabControl (SysTabControl321 = ID 12320) senden um die Registerkarte zum ändern der Ansicht aufzurufen.
ControlSend('Ordneroptionen', 'Allgemein', 12320, '{Right}')
    ; Warten bis das Fenster der Registerkarte 'Ansicht’ existiert.
WinWait('Ordneroptionen', 'Ansicht')
    ; Dieses Fenster aktivieren.
WinActivate('Ordneroptionen', 'Ansicht')
    ; Warten bis das Fenster aktiviert ist.
WinWaitActive('Ordneroptionen', 'Ansicht')
    ; Das Handle des TreeView( durch seine ID angegeben) im angezeigten Fensters ermitteln.
$TreeHandle = ControlGetHandle('Ordneroptionen', 'Erweiterte Einstellungen:', 30120)
    ; Das Handle des Items (mit der Checkbox) ermitteln.
$IHandle = _GUICtrlTreeView_FindItemEx($TreeHandle, 'Dateien und Ordner\Geschützte Systemdateien ausblenden (empfohlen)')
    ; den Zustand dieser Checkbox ermitteln.
$Neu = _GUICtrlTreeView_GetChecked($TreeHandle, $IHandle)
    ; Denn Zustand ausgeben.
MsgBox(0, 'Test', 'Der Zustand ist :' & $Neu)
        ; Das Script beenden.
Exit
