Zeigt ein Standard-Dialogfenster an, mit dem der Benutzer einen Ordner auswählen kann.
FileSelectFolder, AusgabeVar , StartOrdner, Optionen, Anzeigetext
Name der Ausgabevariable, in der der ausgewählte Ordner gespeichert werden soll. Diese Variable wird leer gemacht, wenn der Benutzer das Dialogfenster abbricht (bzw. keinen Ordner auswählen möchte). Wenn der Benutzer ein Root-Verzeichnis auswählt (z. B. C:\), endet der Wert in AusgabeVar mit einem umgekehrten Schrägstrich. Falls das unerwünscht ist, kann der Schrägstrich wie folgt entfernt werden:
FileSelectFolder, Ordner Ordner := RegExReplace(Ordner, "\\$") ; Entfernt den umgekehrten Schrägstrich am Ende, falls vorhanden.
Wenn dieser Parameter weggelassen wird oder leer ist, beginnt die Navigation standardmäßig beim Benutzerordner "Eigene Dokumente" (oder eventuell Arbeitsplatz/Computer). Ein CLSID-Ordner wie ::{20d04fe0-3aea-1069-a2d8-08002b30309d}
(Arbeitsplatz/Computer) kann angegeben werden, um die Navigation bei einem bestimmten Spezialordner zu beginnen.
Ansonsten wird dieser Parameter hauptsächlich genutzt, um ein Sternchen einzufügen und direkt danach den absoluten Pfadnamen des Laufwerks oder Ordners anzugeben, der zu Beginn ausgewählt sein soll. Zum Beispiel würde *C:\
bewirken, dass das C-Laufwerk zu Beginn ausgewählt ist. *C:\Mein Ordner
würde bewirken, dass genau dieser Ordner zu Beginn ausgewählt ist.
Das Sternchen kennzeichnet, dass der Benutzer vom Startordner aus nach oben (Richtung Root-Verzeichnis) navigieren darf. Ohne Sternchen wäre der Benutzer gezwungen, einen Ordner innerhalb von StartOrdner (oder StartOrdner selbst) auszuwählen. Lässt man das Sternchen weg, hat das zum Beispiel den Vorteil, dass der Verzeichnisbaum von StartOrdner zu Beginn aufgeklappt ist, was dem Benutzer das Klicken auf das erste Pluszeichen erspart.
Wenn das Sternchen vorhanden ist, kann die Aufwärtsnavigation optional auf einen anderen Ordner als den Desktop beschränkt werden. Hierzu setzt man vor dem Sternchen den absoluten Pfad des obersten Ordners, gefolgt von genau einem Leerzeichen oder Tabulator. C:\Mein Ordner *C:\Mein Ordner\Projekte
beispielsweise lässt nicht zu, dass der Benutzer höher als C:\Mein Ordner navigieren kann (das Startverzeichnis selbst wäre aber C:\Mein Ordner\Projekte).
Eine der folgenden Zahlen:
0: Deaktiviert alle unteren Optionen (außer in Windows 2000, wo die Schaltfläche "Neuer Ordner" trotzdem erscheinen könnte).
1 (Standard): Stellt eine Schaltfläche zur Verfügung, die der Benutzer drücken kann, um neue Ordner zu erstellen.
Addieren Sie 2 zu der oberen Zahl, um ein Eingabefeld zur Verfügung zu stellen, wo der Benutzer den Namen eines Ordners eintragen kann. Gibt man zum Beispiel für diesen Parameter eine 3 an, wird sowohl ein Eingabefeld als auch die Schaltfläche "Neuer Ordner" zur Verfügung gestellt.
Addieren Sie 4 zu der oberen Zahl, um die BIF_NEWDIALOGSTYLE-Eigenschaft zu entfernen. Dadurch wird sichergestellt, dass FileSelectFolder auch in einer vorinstallierten Umgebung wie WinPE oder BartPE funktioniert, aber verhindert, zumindest unter Windows XP, dass die Schaltfläche "Neuer Ordner" vorhanden ist. ["4" benötigt v1.0.48+]
Wenn der Benutzer den Namen eines ungültigen Ordners in das Eingabefeld einträgt, wird AusgabeVar auf einen Wert gesetzt, der nicht den eingetragenen Text, sondern den im Navigationsbereich ausgewählten Ordner repräsentiert, zumindest unter Windows XP.
Dieser Parameter kann ein Ausdruck sein.
Ein im Fenster angezeigter Text, der dem Benutzer mitteilt, was zu tun ist. Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig "Select Folder - %A_ScriptName%" (der Name des aktuellen Skripts) verwendet.
[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.
ErrorLevel wird auf 1 gesetzt, wenn der Benutzer das Dialogfenster geschlossen hat, ohne einen Ordner ausgewählt zu haben (z. B. durch Drücken der Schaltfläche "Abbrechen"), oder wenn das Betriebssystem sich weigert, das Dialogfenster anzuzeigen (selten). Ansonsten wird es auf 0 gesetzt.
Ein typisches Ordnerauswahlfenster sieht wie folgt aus:
Ein GUI-Fenster kann via Gui +OwnDialogs ein modales Ordnerauswahlfenster anzeigen. Ein modales Dialogfenster hindert den Benutzer daran, mit dem GUI-Fenster zu interagieren, bis er das Dialogfenster wieder schließt.
Bekannte Einschränkung: Startet man ein Timer, während ein Ordnerauswahlfenster angezeigt wird, werden alle darin durchgeführten Aktionen, die der Benutzer versucht auszulösen, bis zum Ende des Timers hinausgezögert. Um das zu umgehen, verzichten Sie entweder auf Timer mit komplexen Subroutinen, die eine lange Zeit in Anspruch nehmen, oder deaktivieren Sie alle Timer, während das Dialogfenster angezeigt wird:
Thread, NoTimers FileSelectFolder, AusgabeVar,, 3 Thread, NoTimers, false
FileSelectFile, MsgBox, InputBox, ToolTip, GUI, CLSID-Liste, FileCopyDir, FileMoveDir, SplitPath
Das Betriebssystem bietet zudem Standard-Dialogfenster an, die der Benutzer zum Auswählen einer Farbe, einer Schriftart oder eines Symbols verwenden kann. Solche Dialogfenster können via DllCall() angezeigt werden, wie auf GitHub gezeigt.
Erlaubt dem Benutzer, einen Ordner auszuwählen, und stellt sowohl ein Eingabefeld als auch die Schaltfläche "Neuer Ordner" bereit.
FileSelectFolder, AusgabeVar, , 3 if AusgabeVar = MsgBox, Keinen Ordner ausgewählt. else MsgBox, Ordner "%AusgabeVar%" ausgewählt.
Ein CLSID-Beispiel. Erlaubt dem Benutzer, einen Ordner im "Dieser PC"-Verzeichnis auszuwählen.
FileSelectFolder, AusgabeVar, ::{20d04fe0-3aea-1069-a2d8-08002b30309d} ; Dieser PC.