Frage

In einem Fenster Projekt arbeite ich an, ich beabsichtige, eine Menüauswahl zu haben, die copletely die App neu gestartet. Gibt es eine Windows oder C ++ Funktion, die dies tut?

War es hilfreich?

Lösung

Es gibt keine eingebaut für diese, sondern eine gut gestaltete Anwendung kann einfach alles stoppen, das vor sich geht und dann die Schleife zurück zum Start. Wenn Sie einen echten ‚Neuanfang‘ wollen, müssen Sie einen neuen Prozess zum Laichen (möglicherweise als das letzte, was du gemacht, bevor die alte heruntergefahren.)

Andere Tipps

Nein, Sie müssen es selbst tun. Zum Beispiel können Sie externen Prozess ausgeführt, die warten, bis Sie Ihre Anwendung beenden, und es dann erneut aus.

Eigentlich möchten Sie vielleicht einen Blick auf die Restart Manager API zu übernehmen, die mit Windows Vista kam. Wie immer können Sie p-aufrufen, dies zu Ihrem Herzen Inhalt und ihre ausdrückliche Unterstützung für sie kommen in Visual C ++ 2010 .

Bereits notwendig, um dies zu tun. Der einfachste Weg, ohne weitere Lesung (entweder von Hand oder dynamisch durch Ihre Anwendung) eine einfache .bat-Datei zu schreiben, wäre Ihr Programm starten und dann die bat-Datei aus Ihrer Anwendung aufrufen.

Die Fledermaus-Datei auch eine Zeile enthalten, kann sich zu entfernen, nachdem die App gestartet haben ...

Sie anrufen möchten, Create und dann Ihre aktuelle Instanz der Anwendung schließen anmutig mit Exitprocess () , oder wenn Sie auf die C Runtime verknüpfen, kehren gerade von main (). Aber zuerst sollten Sie sich fragen, warum Sie den Prozess in erster Linie neu erstellen müssen.

ExitWindowsEx ist das, was Sie wollen. Sie können auch ausführen, um das shutdown.exe Dienstprogramm in Windows integriert.

shutdown -t0 -r (restart the system after 0 seconds)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top