Ich habe eine Windows-GUI-App, z. B. prog.exe, die sich in einem Ordner im Systempfad befindet. Die App gehört nicht mir und ich habe nur Binärdateien, daher kann ich das Programm nicht ändern.
Ich habe einen Dateityp, z. B. * .typ, den ich mit prog.exe verknüpfe.
Eine bestimmte Datei, z. B. tst.typ, befindet sich in einem Ordner, z. B. C: \ tst. Der vollständige Pfad lautet also C: \ tst \ tst.typ.
Als nächstes öffne ich im Windows Explorer den Ordner C: \ tst und doppelklicke auf tst.typ. Wenn ich das tue, öffnet sich prog erfolgreich.
Allerdings nimmt prog keine Argumente an, sodass prog zwar ordnungsgemäß geöffnet wird, jedoch nicht weiß, dass es aus dem Arbeitsverzeichnis C: \ tst oder aus der Datei C: \ tst \ tst.typ aufgerufen wurde.
Beim Start überprüft prog jedoch eine Umgebungsvariable, z. B. PROG_VAR.
Hier ist , was würde ich mag passieren , wenn ich einen Doppelklick auf tst.typ aus dem Ordner C: \ tst:
- Die Umgebungsvariable PROG_VAR wird auf C: \ tst \ tst.typ gesetzt.
- Dann wird prog.exe aufgerufen (mit der aktualisierten Umgebung).
Ein Ansatz besteht darin, die Zuordnung von * .typ so zu ändern, dass sie mit einer Stapeldatei, z. B. prog.bat, geöffnet wird. Dann kann prog.bat die Umgebungsvariable PROG_VAR korrekt setzen und prog.exe aufrufen. Das Problem bei diesem Ansatz ist, dass auch ein Befehlsfenster angezeigt wird, und das möchte ich nicht. Ich möchte nur das GUI-Fenster von prog.exe sehen.
Wie kann dieses Ziel erreicht werden?
Danke im Voraus.