Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi aktuelles explorer verzeichnis (https://www.delphipraxis.net/18424-aktuelles-explorer-verzeichnis.html)

Remote1 18. Mär 2004 12:55


aktuelles explorer verzeichnis
 
wie erhalte ich das aktuell geöffnete erxplorer verzeichnis (pfad) ?????

CenBells 18. Mär 2004 13:04

Re: aktuelles explorer verzeichnis
 
hallo,

da musst du wahrscheinlich das handle des aktiven fensters ermitteln und dann irgendeine eigenschaft auslesen. Global wird das sicher nicht gespeichert sein, schließlich kann es mehrere explorerfenster geben.

Gruß
Ken

Remote1 22. Mär 2004 11:20

Re: aktuelles explorer verzeichnis
 
ja und wie krieg ich das handle welches dem explorer gehört

im prinzip aktives handle und dann noch irgendwie abfragen ob es explorer ist
über findwindow() is ja dumm da ich net weiss wie der name is

mumu 22. Mär 2004 12:25

Re: aktuelles explorer verzeichnis
 
probiers mal mit
hExplorer := findwindow(nil, 'FolderView');

Remote1 23. Mär 2004 06:24

Re: aktuelles explorer verzeichnis
 
mit
Delphi-Quellcode:
hExplorer := findwindow(nil, 'FolderView');
sucht der doch nen fenster mit dem titel "FolderView" oder net

was ich eigentlich will:
ich hab mir ne diashow programmiert und will die ins kontextmenü einbinden, dass der ordner in dem ich mich da halt gerade befinde und die diashow mit rechte maustaste aktiviere, durchsucht und in der diashow angezeigt wird
tja, aber dazu muss ich ja halt den pfad als parameter übergeben und da hab ich keine ahnung wie

das einbinden ins kontextmenü wollt ich dann über die registry realisieren

MathiasSimmack 23. Mär 2004 08:01

Re: aktuelles explorer verzeichnis
 
Zitat:

Zitat von Remote1
was ich eigentlich will:
ich hab mir ne diashow programmiert und will die ins kontextmenü einbinden, dass der ordner in dem ich mich da halt gerade befinde und die diashow mit rechte maustaste aktiviere, durchsucht und in der diashow angezeigt wird
tja, aber dazu muss ich ja halt den pfad als parameter übergeben und da hab ich keine ahnung wie

Gehört dazu:

Zitat:

das einbinden ins kontextmenü wollt ich dann über die registry realisieren
Such in der Registry, unter HKEY_CLASSES_ROOT, nach dem Eintrag "Folder/shell". Dort erzeugst du den Eintrag für dein Programm, darunter den Eintrag "command" mit dem Pfad zu deinem Programm und dem Anhang %1 als Parameter:
Code:
"c:\Programme\MeineDiashow\Dia.exe" "%1"
(Der Vollständigkeit halber: Das ist nur ein Beispiel! Dein Programm sollte den Pfad niemals fix festlegen, also "c:\programme\...." sondern immer nach Möglichkeit den eigenen Pfad ermitteln und diesen dann eintragen -> paramstr(0). Alternativ lässt sich das auch via Setup machen.)
Der Anhang "symbolisiert" den Pfad, den du quasi durch den Rechtsklick im Explorer ausgewählt hast. Alles, was du dann noch tun musst, ist eben diesen Pfad in deinem Programm auszuwerten:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowMessage(paramstr(1));
end;
Voilà.

Schau dir in der Delphi-Hilfe bitte das Thema "paramstr" an, und zum Thema Hier im Forum suchenDateityp registrieren findest du hier sicher den ein oder anderen Beitrag.

Warum einfach, wenn´s auch umständlich geht ... ;)

Remote1 25. Mär 2004 12:52

Re: aktuelles explorer verzeichnis
 
das mit der registry und dem paramstr() hab ich auch gewusst, aber net das mit %1

danke, werds mal probieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz