Seite 1 von 1

Programm mit Doppelklick auf Datei starten

Verfasst: 07.03.2008 18:36
von dibro
Hi, ich hab da ein Problem und absolut keine Ahnung wie das funktioniert, wenn ich ein Programm mit Doppelklick auf die Dateiendung starte.

Speziell: Mein Programm erzeugt Datendateien (technische Berechnungsergebnisse) mit einer eigenen Endung z.B. *.enx.
Außerdem lade ich Grafiken aus einem Unterverzeichnis des Programmverzeichnisses.
Die .exe ist ohne Installation lauffähig und in einem eigenen Verzeichnis mit Unterverzeichnissen eingetragen.
Wenn ich normal starte und über Öffnen gehe, läuft alles.
Starte ich jedoch durch Doppelklick auf die enx-Datei, startet das Programm, findet aber weder die Grafiken noch die Datei, auf welche ich geklickt habe.

Wer kann mir da einen Tipp geben wo ich die Pfade herbekomme, ohne diese vorher fest vorzugeben?

Verfasst: 07.03.2008 18:47
von KeyKon
Versuchs mal mit ProgramParameter(), da sollte alles übergeben werden...

Verfasst: 07.03.2008 19:16
von dibro
Danke, ich glaub das ist es, außerdem hab ich unter der Library Process noch ein paar andere hilfreiche Funktionen gefunden :allright: .
Ehrlich, da hab ich noch nie reingeguckt.

Verfasst: 07.03.2008 19:17
von #NULL
du hast scheinbar auch das problem, das windows deine exe dann im pfad der enx-datei startet, so dass du die resoucen der exe (icons ect) nicht findest.
abhilfe schaft SetCurrentDirectory(GetPathPart(ProgramFilename())).

Verfasst: 07.03.2008 19:23
von dibro
Genau, da hab ich jetzt in der Lib. Process auch die Funktion ProgrammFileName() entdeckt, da kann ich ja den Programmpfad holen und dann die Standardverzeichnisse anhängen.
Genau so werd ich es machen.
Danke