FileSelectFolder()

  • mein "Schuß in den Wald" wäre .Net Framework fehlt.
    Ist aber einfach nur geraten ... ^^

    Hat dein letzter Beitrag und die Antwort von AspirinJunkie nicht weitergeholfen?

    siehe: .Net in WinPE

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Vielen Dank Schnuffel und argumentum für eure Antworten.

    Inzwischen habe ich mir überlegt, dass man den Befehl aus der Hilfe

    in dieser Form 'FileSelectFolder($sMessage, "")' so nicht anwenden kann, da es ja unter WinPE keinen Desktop gibt.

    Meine Volume-Liste sieht so aus:

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    Volume ### Ltr Label Fs Type Size Status Info
    ---------- --- ----------- ----- ---------- ------- --------- --------
    Volume 0 J DVD-ROM 0 B No Media
    Volume 1 C Backup NTFS Partition 465 GB Healthy
    Volume 2 D Boot NTFS Partition 84 GB Healthy
    Volume 3 E Privat NTFS Partition 80 GB Healthy
    Volume 4 FAT32 Partition 99 MB Healthy Hidden
    Volume 5 F Data NTFS Partition 906 GB Healthy
    Volume 6 G Recover NTFS Partition 24 GB Healthy
    Volume 7 H GARTEN FAT32 Partition 238 GB Healthy
    Volume 8 I MICROSD2 FAT32 Removable 14 GB Healthy
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    Ich habe den Befehlnun nun so angesetzt:

    FileSelectFolder($sMessage, "D:") .

    Jetzt wird mir zwar ein Auswahlfenster angezeigt. Es lässt aber nur eine Auswahl innerhalb des Laufwerks D: (entspricht C: unter Windows) zu. Ich möchte dem Benutzer aber freistellen, mit welchem Laufwerk bzw. Ordner er arbeiten will. Eine Möglichkeit wie "Dieser PC" wird nicht angeboten.

    Was nun?

  • Zu deiner Frage Schnuffel:

    Hat dein letzter Beitrag und die Antwort von AspirinJunkie nicht weitergeholfen?

    Am Ende hatte sich doch heraugestellt, dass es nicht an fehlenden DLLs lag. Sonder mein Programm haatte ich nicht im x64-Modus kompiliert.

  • Da FileSelectFolder nicht so gut funktioniert, kannst du ja ggf. meine UDF ausprobieren: TreeListExplorer UDF um eine TreeView/ListView zum navigieren von Ordnern/Dateien zu nutzen

    Du kannst ein Fenster mit einer TreeView erstellen und die TreeView dann an die UDF übergeben und angeben, dass nur Ordner angezeigt werden sollen.
    Das dürfte ein recht einfacher Weg sein, den FileSelectFolder Dialog nachzubauen.
    Die UDF unterstützt auch Input-Controls und ListViews, du kannst also theoretisch das gesamte FileSelectFolder interface nachbauen, wenn du möchtest.

    Bei Fragen dazu kann ich dir ggf. weiterhelfen.
    Ich hab nur keine WinPE umgebung um irgendwas zu testen.

    LG Kanashius

  • Vielen Dank Argumentum: Wo würde man die ISO finen?

    Vielen Dank Kanashius: Um das Script zumLaufen zu bringen, müsste man die "TreeListExplorer.au3" haben.

    Ich habe mir aber einen noch günstigeren Weg überlegt:

    Ich werde mir eine GUI schreiben, die zunächst eine Auswahl der vorhandenen Laufwerksnamen anbietet. Dadurch wird der Benutzer gar nicht erst mit den durch Windows PE verfälschten Laufwerksbuchstben konfrontiert. Wenn er dann seine Wahl getroffen hat, kann er anschließend über FileSelectFolder() den Ordner aussuchen.

    Nochmals herzlichen Dank euch beiden für eure Mühe mit mir.