AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Eigenes Programm automatisch über Dateiendung (doppelklick) starten
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes Programm automatisch über Dateiendung (doppelklick) starten

Ein Thema von nezumi7 · begonnen am 15. Aug 2018 · letzter Beitrag vom 15. Aug 2018
Antwort Antwort
nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#1

Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 09:58
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

OleVariant(Webbrowser1.Document as IHTMLDocument2).Write(????) irgendwas angeben..

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.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.596 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 10:05
Delphi-Quellcode:
if ParamCount > 0 then
  filename := ParamStr(1);
Thomas Mueller
  Mit Zitat antworten Zitat
nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#3

AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 10:18
Vielen Dank, das klappt!

Keine Ahnung was ParamStr heißt, werde ich jetzt mal nachlesen....
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 10:21
ParamCount gibt an wieviele Parameter beim Start übergeben wurden.
ParamStr(X) gibt den Parameter X wieder.
Delphi-Quellcode:
for i := 1 to ParamCount do
  MyParams := MyParams + ParamStr(i);
so könntest Du alle Parameter abgreifen und verwerten.

ParamStr(0) ist zum Beispiel immer Deine Anwendung samt Pfad.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#5

AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 10:25
Danke KodeZwerg, wieder was dazu gelernt
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 10:44
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:
Lade
Datei
Y.exe
Also 3 Parameter insgesamt.
Das dann ein Execute(Lade) schiefgeht ist klar.

ProjectX.exe "Lade Datei Y.exe"
Zitat:
Lade Datei Y.exe
Also 1 Parameter insgesamt.
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.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:21 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