Starten Sie eine Anwendung von selbst
Will ich bauen meine Anwendung mit der Funktion neu zu starten. Fand ich auf codeproject
ProcessStartInfo Info=new ProcessStartInfo();
Info.Arguments="/C choice /C Y /N /D Y /T 3 & Del "+
Application.ExecutablePath;
Info.WindowStyle=ProcessWindowStyle.Hidden;
Info.CreateNoWindow=true;
Info.FileName="cmd.exe";
Process.Start(Info);
Application.Exit();
Das funktioniert nicht bei allen...
Und das andere problem ist, wie Sie ihn wieder starten wollen?
Vielleicht gibt es auch Argumente, die zum starten von Anwendungen.
Edit:
http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=31454&av=58703
InformationsquelleAutor der Frage Noli | 2012-03-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich benutze ähnlichen code, um den code, den Sie versucht, beim starten von apps. Ich sende eine zeitlich cmd Befehl starten Sie die app für mich so:
Den Befehl an das OS, das ping-hält das script für 2-3 Sekunden, wenn die Anwendung beendet hat, aus
Application.Exit()
dann wird der nächste Befehl nach dem ping wieder gestartet.Hinweis: Die
\"
setzt Anführungszeichen um den Pfad herum, incase es hat Räume, die cmd kann nicht verarbeiten, ohne Anführungszeichen.Hoffe, das hilft!
InformationsquelleAutor der Antwort Bali C
Warum nicht
??
Mehr auf Neu starten
InformationsquelleAutor der Antwort Shai
Warum nicht einfach Folgendes?
Wenn Sie sicherstellen möchten, dass die app nicht zweimal ausgeführt wird, verwenden Sie entweder
Environment.Exit(-1)
das tötet den Prozess unmittelbar (nicht wirklich die nette Art) oder etwas wie der Beginn einer zweiten app, die überprüft, für den Prozess der Haupt-app und startet ihn wieder, sobald der Prozess Weg ist.InformationsquelleAutor der Antwort ChrFin
Haben Sie der ersten Anwendung Ein, die Sie neu starten möchten.
Also, Wenn Sie wollen, zu töten, eine kleine Applikation B wird gestartet, B töte A, dann B start A und töte B.
Um einen Prozess zu starten:
Töten einen Prozess, ist so etwas wie das
InformationsquelleAutor der Antwort Mentezza
Winforms hat die
Anwendung.Restart()
Methode, die genau das tut. Wenn Sie mit WPF können Sie einfach fügen Sie einen Verweis aufSystem.Windows.Forms
und nennen es.InformationsquelleAutor der Antwort Avner Shahar-Kashtan
Eine Menge Leute sind darauf hindeutet, zu Anwendung.Neu starten. In der Realität, diese Funktion nur selten führt wie erwartet. Ich habe noch nie hatte es ein Herunterfahren der Anwendung rufe ich es aus. Ich hatte schon immer die Anwendung schließen, die durch andere Methoden wie die Schließung der Haupt-form.
Haben Sie zwei Möglichkeiten des Umgangs mit diesen. Sie haben entweder ein externes Programm, das schließt den aufrufenden Prozess und beginnt ein neues,
oder,
haben Sie den start Ihres neuen software-töten andere Instanzen der gleichen Anwendung, wenn ein argument übergeben wird, als neu zu starten.
InformationsquelleAutor der Antwort JeremyK
Einen anderen Weg, dies zu tun, fühlt sich ein wenig sauberer als bei diesen Lösungen ist zum ausführen einer batch-Datei, die eine bestimmte Verzögerung zu warten, bis die aktuelle Anwendung zu beenden. Dies hat den zusätzlichen Vorteil der Verhinderung der Antrag in zwei Instanzen nicht öffnen zur gleichen Zeit.
Beispiel windows batch-Datei ("neu starten.Fledermaus"):
In der Anwendung, fügen Sie diesen code:
InformationsquelleAutor der Antwort dodgy_coder
Meine Lösung:
InformationsquelleAutor der Antwort Martin.Martinsson
Für .Net-Anwendung, die Lösung sieht wie folgt aus:
Ich diese verwendet, um starten Sie in meinem web-Anwendung nach der änderung AppSettings in der Datei myconfig.
InformationsquelleAutor der Antwort Pal