Programm soll sich beenden und dann wieder selbständig starten
-
In meinem Programm habe ich die Möglichkeit eine Vielzahl von Einstellungen zu sichern, Fenstergröße, Schriftart und alle möglichen internen Variblen. Diese Sicherung wird in einer cfg-Datei hinterlegt. Der Programmieraufwand diese Datei zur Laufzeit zu laden ist recht hoch, aus diesem Grund möchte ich das Laden der Datei folgendermaßen gestalten: die Anwendung soll beendet werden und sich dann selbständig wieder starten, anhand eines Eintrags in der Registry weiß mein Programm dann ob es mit den internen Settings oder aber mit den Settings aus der cfg-Datei alle Fenster aufbauen soll. Die Frage ist nun wie bringe ich mein Programm dazu sich zu beenden und dann wieder zu starten. Meine erste Überlegung wäre eine kleine "starter.exe" zu schreiben und diese als Resource in mein Hauptprogrogramm zu integrieren. Mein Hauptprogramm würde dann die Resource entpacken, starten und sich dann beenden. Das Starterprogramm würde anhande des handles des Hauptfensters feststellen ob das Hauptprogramm noch existiert, und es dann entsprechend starten und sich dann beenden. Das hauptprogramm wiederum löscht die starter.exe. Ist diese Vorgehnsweise sinnvoll oder gibt es bessere Möglichkeiten ans Ziel zu kommen?
-
Und warum so kompliziert?
Starte aus Deinem Programm, das programm ein zweites mal, und beende das erste nachdem bereits alles gespeichert ist und Du nur noch letzten Endes den Prozess beenden musst.
Auch einen Schaltr in der Registry finde ich überflüssig. Warum benutzt Du nicht einen Befehlszeilenschalter?