AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Im Explorer ausgewähltes Verzeichnis ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Im Explorer ausgewähltes Verzeichnis ermitteln

Ein Thema von mz23 · begonnen am 24. Jan 2010 · letzter Beitrag vom 28. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
mz23
(Gast)

n/a Beiträge
 
#1

Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 24. Jan 2010, 17:32
Hallo liebe DP-Gemeinde,

ich "nerve" heute nochmal mit einer weiteren Frage.

Ich verwende in einem Programm eine DriveComboBox mit DirectoryListBox und FileListBox.
Alles wie gehabt und geht bestens, soweit komme ich klar.

Nun möchte ich zwei Buttons mit "reinmachen", einer öffnet den Win-Explorer in dem
Verzeichnis im momentanen Verzeichnis der DirectoryListBox.Directory, kein Problem-

Der zweite Button soll beim Anklicken das momentan im Win-Explorer ausgewählte
Verzeichnis in die DirectoryListBox.Directory des Programmes übernehmen.

Nun zu meiner Frage: Wie bekomme ich die Information, welches Verzeichnis momentan
im Explorer ausgewählt wurde? - Also nicht das Start-Verzeichnis des Explorers, wenn
er startet, das bekomme ich aus der Registrierungs.Datei, das ist mir bekannt.

Mit freundlichen Grüßen
Manfred Zenns
  Mit Zitat antworten Zitat
e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
156 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 26. Jan 2010, 12:22
Hallo Manfred,

Du willst Daten aus einem anderen laufenden Programm herauslesen? Das ginge nur wenn der Explorer eine entsprechende Schnittstelle zur Verfügung stellen würde. Meines Wissens tut er das jedoch nicht.

Es gäbe aber die Möglichkeit vom Explorer aus die Verzeichnis-Infos Deinem Programm zu übermitteln. Beispielsweise wenn Du Dein Programm in den sendto-Ordner einfügst und es dann über das Kontextmenü des Explorers aufrufst.
Beim Aufruf könntest Du dann prüfen, ob Dein Programm bereits geöffnet ist und falls ja, das aktuelle Verzeichnis diesem übergeben.

Gruß
e-gon
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#3

AW: Re: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 26. Dez 2010, 08:14
Hallo Manfred,

Du willst Daten aus einem anderen laufenden Programm herauslesen? Das ginge nur wenn der Explorer eine entsprechende Schnittstelle zur Verfügung stellen würde. Meines Wissens tut er das jedoch nicht.

Es gäbe aber die Möglichkeit vom Explorer aus die Verzeichnis-Infos Deinem Programm zu übermitteln. Beispielsweise wenn Du Dein Programm in den sendto-Ordner einfügst und es dann über das Kontextmenü des Explorers aufrufst.
Beim Aufruf könntest Du dann prüfen, ob Dein Programm bereits geöffnet ist und falls ja, das aktuelle Verzeichnis diesem übergeben.

Gruß
e-gon
Wow! Das ist der ultimative Tipp.
Vielen Dank auch, dann brauch ich nicht immer
alle Dateien markieren und per Drag'n'Drop in
mein Program rüberzuschaufeln.

Manchmal steht man einfach auf dem Schlauch

Vielen Dank und Tschüß
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 26. Dez 2010, 08:39
Eine andere Möglichkeit wäre mit WinSpy den Wert vielleicht zu übergeben. Das zeigt mir WinSpy unter Windows 7 für die Adresszeile im Windows Explorer an :
Delphi-Quellcode:
var
  wnd: HWND;
begin
  wnd := FindWindow('CabinetWClass','Daten (D:)');
  wnd := FindWindowEx(wnd, 0, 'WorkerW', nil);
  wnd := FindWindowEx(wnd, 0, 'ReBarWindow32', nil);
  wnd := FindWindowEx(wnd, 0, 'Address Band Root', nil);
  wnd := FindWindowEx(wnd, 0, 'msctls_progress32', nil);
  wnd := FindWindowEx(wnd, 0, 'ComboBoxEx32', nil);
  wnd := FindWindowEx(wnd, 0, 'ComboBox', nil);
  wnd := FindWindowEx(wnd, 0, 'Edit', nil);
  if wnd <> 0 then
  begin
   // ShowMessage('Window found. Handle: ' + IntToStr(wnd));
     writeln('Window found. Handle: ' + IntToStr(wnd));
     FlashWindow(wnd);
  end;
end.
Vielleicht hilft Dir das ja weiter.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#5

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 26. Dez 2010, 21:54
Hallo,
Eine andere Möglichkeit wäre ...
Aua! Genau solche Konstrukte sind der Grund, warum Windows so viel Kompatibilitätshacks mitschleppt. Finger weg!

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#6

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 27. Dez 2010, 18:06
Eine andere Möglichkeit wäre mit WinSpy den Wert vielleicht zu übergeben. Das zeigt mir WinSpy unter Windows 7 für die Adresszeile im Windows Explorer an :
Delphi-Quellcode:
var
  wnd: HWND;
begin
  wnd := FindWindow('CabinetWClass','Daten (D:)');
  wnd := FindWindowEx(wnd, 0, 'WorkerW', nil);
  wnd := FindWindowEx(wnd, 0, 'ReBarWindow32', nil);
  wnd := FindWindowEx(wnd, 0, 'Address Band Root', nil);
  wnd := FindWindowEx(wnd, 0, 'msctls_progress32', nil);
  wnd := FindWindowEx(wnd, 0, 'ComboBoxEx32', nil);
  wnd := FindWindowEx(wnd, 0, 'ComboBox', nil);
  wnd := FindWindowEx(wnd, 0, 'Edit', nil);
  if wnd <> 0 then
  begin
   // ShowMessage('Window found. Handle: ' + IntToStr(wnd));
     writeln('Window found. Handle: ' + IntToStr(wnd));
     FlashWindow(wnd);
  end;
end.
Vielleicht hilft Dir das ja weiter.
Cool! Vielen Dank, werde ich gleich ausprobieren.
Wenn man weiß, wie nur ein Begriff heißt, weil man
eine Methode sucht, ist's halb so wild
Siehe den Tipp mit den Column Handlers für die
Explorer Detail-Ansichten.

Vielen schönen Dank und einen gutes Neues Jahr Euch allen!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 27. Dez 2010, 18:37
Und unter wie vielen Windows Versionen funktioniert das?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#8

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 27. Dez 2010, 19:07
Und unter wie vielen Windows Versionen funktioniert das?
Hallo Luckie,
unter Win-Vista Home Edition funktioniert das Tool.
Ob allerdings die angezeigten Werte alle stimmen...

MfG
mz23
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 27. Dez 2010, 19:12
Naja, wenn man dann erst die genaue Windows-Version bestimmen müsste, dann würde ich wahrscheinlich einen anderen Weg suchen, da so etwas nur Scherereien mit sich bringt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#10

AW: Im Explorer ausgewähltes Verzeichnis ermitteln

  Alt 27. Dez 2010, 23:00
Das funktioniert seit XP, Der Explorer ist seitdem gleich aufgebaut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz