Dateipfad der im Windowsexplorer markierten Datei auslesen

  • Habe ich vor langer Zeit mal erstellt:


  • Bitte beachten:

    Diese Funktion setzt voraus, dass der Datei Explorer im Moment der Abfrage das aktive Fenster ist. Den Aufruf müsstest Du dann z. B. auf einen Hotkey legen in einem AutoIt Skript, das im Hintergrund dümpelt. ;)


    Hier mal noch eine Version, in der der Datei-Explorer nicht aktiv sein muss! Es wird das topmost Explorerfenster verwendet:


    EDIT: Eine Besonderheit von Windows muss man aber selbst beachten. Hat man im Explorerfenster im Tree einen Bibliotheksnamen ausgewählt, liefert Windows nicht den Speicherpfad, da es sich hier um eine Verlinkung handelt. Man bekommt stattdessen einen Leerstring. Hat man die Standardoption mit Ordneranzeige gewählt, erhält man dann einen Backslash und Dateinamen. Wählt man jedoch im Tree den unterhalb des Bibliotheksnamens stehenden Ordner, läuft alles wie gewollt.

  • Nachtrag:


    In der Version im vorigen Post hatte ich die Reihenfolge der Fenster aus WinList ausgelesen, musste nun aber feststellen, dass WinList diese Liste ungeordnet erstellt. Somit wurde bei gleicher Klasse immer auf das zuerst erstellte Fenster zugegriffen.

    Habe ich in dieser Version korrigiert. Zusätzlich noch einen Fehler beim Auslesen aus Rootlaufwerken (Backslash wurde als Pfad mit übernommen).