Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateinamen in Listbox bei Doppelklick im Explorer (https://www.delphipraxis.net/142046-dateinamen-listbox-bei-doppelklick-im-explorer.html)

dynamo 21. Okt 2009 00:37


Dateinamen in Listbox bei Doppelklick im Explorer
 
Ich habe ein simples Programm geschrieben: Formular mit Listbox. Im Windows-Explorer wird ein bestimmter Dateityp (z.B. *.mp3) doppelgeklickt. Der Dateiname soll nun in der Listbox aufgelistet werden. wie mach ich das?

Sofern mein Programm noch nicht gestartet ist, kann ich mit paramstr(1) arbeiten:

z.B. im FormShow-Ereignis :

Delphi-Quellcode:
if paramcount <> 0 then
   if extractFileExt(paramstr(1)) = 'mp3' then ListBox1.Items.Add(paramstr(1));
Das geht auch wunderbar, wie gesagt - solange mein Programm vorher noch nicht gestartet war - paramstr ist ja schließlich ein Startparameter!
Ich möchte aber, dass ich auch bei laufendem Programm Dateien im Explorer doppelklicken kann, die dann aufgelistet werden.
Es scheint wohl kein Formular- oder Application-Ereignis zu geben, das hierauf reagiert.Sämtliche Versuche mit ApplicationEvents1Message sind auch fehlgeschlagen.

Irgendwie fehlt mir hier der Ideen-Input. Die Suche in diversen Foren war bisher ergebnislos. Häufig habe ich Threads gefunden, die zwar haarscharf mein Thema streifen, es aber letztlich doch verfehlen, obwohl ich sicher bin, dass es schon mehrfach behandelt wurde. - Ich hab aber nichts richtiges gefunden bzw bin auf tote Links verwiesen worden. Hat jemand 'ne Idee?

himitsu 21. Okt 2009 00:47

Re: Dateinamen in Listbox bei Doppelklick im Explorer
 
Joar, man kann irgendwie ein Plugin (meißt 'ne DLL mit einem COM-Objekt drin) für den Explorer erstellen, welches dann die Aufrufe an deine Anwendung weiterleitet.

Oder du machst es genauso wie jetzt auch > ParamStr

Beim Start der Anwendung schaut sie dann, ob schon eine andere gestartete Instanz existiert.
Wenn ja, dann überigbt sie dieser den Dateinamen (SendMessage oder ähnliches in Richtung IPC)
und beendet sich danach selbst.

siehe Hier im Forum suchenOneInstance und Ähnliches

dynamo 21. Okt 2009 02:27

Re: Dateinamen in Listbox bei Doppelklick im Explorer
 
Ja danke - hab's hingekriegt. Dein Link war dabei entscheidend. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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