DirSelect

Zeigt ein Standarddialogfenster an, mit dem der Benutzer einen Ordner auswählen kann.

AusgewählterOrdner := DirSelect(StartOrdner, Optionen, Anzeigetext)

Parameter

StartOrdner

Typ: Zeichenkette

Wenn leer oder weggelassen, beginnt die Navigation standardmäßig im Ordner "Dokumente" des Benutzers oder evtl. "Dieser PC" (ehemals Arbeitsplatz oder Computer). Ein CLSID-Ordner wie "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" (Dieser PC) kann angegeben werden, um die Navigation in einem bestimmten Spezialordner zu beginnen.

Andernfalls wird dieser Parameter hauptsächlich verwendet, um ein Sternchen einzufügen und direkt danach den absoluten Pfadnamen des Laufwerks oder Ordners anzugeben, der vorab ausgewählt sein soll. Zum Beispiel würde "*C:\" vorab das C-Laufwerk auswählen und "*C:\Mein Ordner" vorab diesen konkreten Ordner auswählen.

Das Sternchen bewirkt, dass der Benutzer vom Startordner aus nach oben (näher zum Stammverzeichnis) navigieren darf. Ohne Sternchen wäre der Benutzer gezwungen, einen Ordner innerhalb von StartOrdner (oder StartOrdner selbst) auszuwählen. Das Weglassen des Sternchens hat z.B. den Vorteil, dass StartOrdner zu Beginn im aufgeklappten Zustand angezeigt wird, was dem Benutzer das Anklicken des ersten Pluszeichens erspart.

Wenn das Sternchen vorhanden ist, kann die Aufwärtsnavigation optional auf einen anderen Ordner als den Desktop beschränkt werden. Stellen Sie dem Sternchen einfach den absoluten Pfad des obersten Ordners voran, gefolgt von genau einem Leer- oder Tabulatorzeichen. Zum Beispiel würde "C:\Mein Ordner *C:\Mein Ordner\Projekte" dem Benutzer verbieten, höher als C:\Mein Ordner zu navigieren (allerdings wäre C:\Mein Ordner\Projekte vorab ausgewählt).

Optionen

Typ: Integer

Wenn weggelassen, wird standardmäßig 1 verwendet. Andernfalls geben Sie eine der folgenden Zahlen an:

0: Keine der folgenden Optionen ist wirksam.

1: Zeigt eine Schaltfläche an, die der Benutzer zum Erstellen neuer Ordner verwenden kann.

Addieren Sie 2 zur obigen Zahl, um ein Eingabefeld anzuzeigen, das der Benutzer zum Eintragen eines Ordnernamens verwenden kann. Wenn dieser Parameter z.B. 3 ist, wird sowohl ein Eingabefeld als auch die Schaltfläche "Neuer Ordner" angezeigt.

Addieren Sie 4 zur obigen Zahl, um die Eigenschaft BIF_NEWDIALOGSTYLE zu entfernen. Dadurch wird sichergestellt, dass DirSelect auch in einer vorinstallierten Umgebung wie WinPE oder BartPE funktioniert, verhindert aber, dass die Schaltfläche "Neuer Ordner" angezeigt wird.

Wenn der Benutzer einen ungültigen Ordnernamen in das Eingabefeld einträgt, wird AusgewählterOrdner auf den im Navigationsbereich ausgewählten Ordner gesetzt, nicht auf den vom Benutzer eingetragenen Text.

Anzeigetext

Typ: Zeichenkette

Wenn leer oder weggelassen, wird standardmäßig "Select Folder - " A_ScriptName (der Name des aktuellen Skripts) verwendet. Andernfalls geben Sie den Text an, der im Fenster angezeigt wird, um dem Benutzer mitzuteilen, was zu tun ist.

Rückgabewert

Typ: Zeichenkette

Diese Funktion gibt den vollständigen Pfad und Namen des vom Benutzer ausgewählten Ordners zurück. Wenn der Benutzer das Dialogfenster abbricht (also keinen Ordner auswählen möchte), wird eine leere Zeichenkette zurückgegeben. Wenn der Benutzer ein Stammverzeichnis auswählt (z.B. C:\), endet der Rückgabewert mit einem umgekehrten Schrägstrich. Falls das unerwünscht ist, kann der Schrägstrich wie folgt entfernt werden:

Ordner := RegExReplace(DirSelect(), "\\$")  ; Entfernt den umgekehrten Schrägstrich am Ende, falls vorhanden.

Eine leere Zeichenkette wird auch zurückgegeben, wenn das Betriebssystem sich weigert, das Dialogfenster anzuzeigen, was jedoch sehr selten vorkommt.

Bemerkungen

Ein typisches Ordnerauswahlfenster sieht wie folgt aus:

DirSelect

Ein GUI-Fenster kann via +OwnDialogs-Option ein modales Ordnerauswahlfenster anzeigen. Ein modales Dialogfenster hindert den Benutzer daran, mit dem GUI-Fenster zu interagieren, bis er das Dialogfenster wieder schließt.

FileSelect, MsgBox, InputBox, ToolTip, GUI, CLSID-Liste, DirCopy, DirMove, SplitPath

Das Betriebssystem stellt außerdem Standarddialogfenster bereit, die der Benutzer zum Auswählen einer Schriftart, einer Farbe oder eines Symbols verwenden kann. Solche Dialogfenster können via DllCall in Kombination mit comdlg32\ChooseFont, comdlg32\ChooseColor bzw. shell32\PickIconDlg angezeigt werden. Suchen Sie im Forum nach Beispielen.

Beispiele

Ermöglicht dem Benutzer die Auswahl eines Ordners und stellt sowohl ein Eingabefeld als auch die Schaltfläche "Neuer Ordner" bereit.

AusgewählterOrdner := DirSelect(, 3)
if AusgewählterOrdner = ""
    MsgBox "Keinen Ordner ausgewählt."
else
    MsgBox "Ordner '" AusgewählterOrdner "' ausgewählt."

Ein CLSID-Beispiel. Ermöglicht dem Benutzer die Auswahl eines Ordners in Dieser PC (ehemals Arbeitsplatz oder Computer).

AusgewählterOrdner := DirSelect("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")