Pfade aus Explorer übernehmen

  • Hallo alle zusammen!
    Erstmal: tolles Forum.
    Ich beschäftige mich erst ein paar Tage mit AutoIt, hab aber schon viel Spaß (und natürlich auch Frust) damit gehabt.
    Ich habe intensiv die Suchfunktion und auch die dokumentierte Hilfe bemüht aber zu meinem Problem konnte ich leider nichts finden.

    Ich möchte in mein Skript einbauen, dass der User bestimmte Pfade (zum auslesen oder speichern von Dateien) aus einem Explorer-Menü auswählen kann und dieser Wert dann vom Skript übernommen wird.
    Also nicht so: "Bitte geben Sie den kompletten Pfad zur Datei XY an" -> und der User muss eintippen : "C:\Dokumente und Einstellungen\blablabla...."
    Sondern so: Button mit "Pfad zur Datei" -> User klickt drauf und ein Explorer-Fenster geht auf, mit dem er den gesamten Inhalt seines Rechners browsen kann. Möglichst soll das Fenster einen "OK"-Button haben, wenn der User den Pfad markiert hat, soll er mittels "OK" an das Skript übergeben werden. Naja, halt so, wie man das bei Installationsprogrammen kennt, wenn man nicht die Standardinstallation wählt.

    Für Hilfe wäre ich echt dankbar.

  • Hi,

    ist gar nicht so schwer... wenn man den richtigen Befehl kennt ;)

    [autoit]


    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("AForm1", 418, 46, 193, 115)
    $Input1 = GUICtrlCreateInput("", 8, 8, 321, 21)
    $but_select = GUICtrlCreateButton("...", 336, 8, 75, 21, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $but_select
    $sFolder = FileSelectFolder("Verzeichnis auswählen:", "", "", "")
    If Not @error = 1 Or $sFolder <> "" Then
    GUICtrlSetData($input1, $sFolder)
    EndIf
    Case Else
    ;...
    EndSwitch
    WEnd

    [/autoit]