![]() |
Eigenes Programm automatisch über Dateiendung (doppelklick) starten
Hallo,
ich möchte, dass mein Programm automatisch gestartet wird, wenn ich auf eine Datei mit einer bestimmten Dateiendung doppelklicke. Beispiel: ich habe eine Datei 'C:\test\beispiel.html'. Wenn ich die doppelklicke soll sich mein Programm öffnen und dort die Datei in einem Webbrowser laden. Das öffnen meines Programms ist ja eigentlich simpel, ich mache in Windows einmal Rechtsklick, "Öffnen mit..", suche mein Prog aus und klicke das Kästchen "immer mit diesem Programm öffnen" an (mehr brauch ich dafür nicht). Das klappt auch, nur: wie erfährt mein Programm jetzt, welche Datei doppelgeklickt wurde? Ich muss ja z.B. bei
Delphi-Quellcode:
irgendwas angeben..
OleVariant(Webbrowser1.Document as IHTMLDocument2).Write(????)
Ich tappe da so im Dunkeln, dass es mir schon schwer fällt, gezielt nach irgendwas zu suchen. Also vorab schon mal sorry, sollte sich eine Lösung leicht über die Suchfunktion finden lassen... Gruß, Stephan. |
AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten
Delphi-Quellcode:
if ParamCount > 0 then
filename := ParamStr(1); |
AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten
Vielen Dank, das klappt! :thumb:
Keine Ahnung was ParamStr heißt, werde ich jetzt mal nachlesen.... |
AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten
ParamCount gibt an wieviele Parameter beim Start übergeben wurden.
ParamStr(X) gibt den Parameter X wieder.
Delphi-Quellcode:
so könntest Du alle Parameter abgreifen und verwerten.
for i := 1 to ParamCount do
MyParams := MyParams + ParamStr(i); ParamStr(0) ist zum Beispiel immer Deine Anwendung samt Pfad. |
AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten
Danke KodeZwerg, wieder was dazu gelernt :wink:
|
AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten
Gern geschehen. Meine Empfehlung für Dateinamen übergabe, pack diese innerhalb von Anführungszeichen, falls es Lücken(Leerstellen) im Namen gibt wird der sonst als zweiter Parameter gehandhabt.
Beispiel: falscher Aufruf ProjectX.exe Lade Datei Y.exe richtiger Aufruf ProjectX.exe "Lade Datei Y.exe" Durch die "" wird es als ein Parameter betrachtet. Delphi zerlegt mein Beispiel auf folgende Weise ProjectX.exe Lade Datei Y.exe
Delphi-Quellcode:
for i := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(i)); Zitat:
Das dann ein Execute(Lade) schiefgeht ist klar. ProjectX.exe "Lade Datei Y.exe" Zitat:
Da funktioniert ein Execute(Lade Datei Y.exe) weil es nur ein Parameter ist. Somit klappen auch Leerzeichen Problemlos. Am besten Du wertest mal ein paar Beispiel-Aufrufe aus um zu sehen was tatsächlich passiert um es besser zu Verstehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 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