2009-08-03 8 views
1

Die Anwendung sollte sich selbst töten Wie in vb.net zu tun? Bitte helfen Sie mir in diesem Fall ...Kill laufende Anwendung

+1

Das sind 2 verschiedene Fragen. Sich selbst zu töten könnte so einfach sein wie vom Main zurückzukehren .... einen anderen Prozess zu töten ist eine ganz andere Geschichte. Aber ich bin nicht wirklich vertraut mit VB.net, also konnte ich Ihnen nicht helfen;) – mpen

Antwort

2

Sie können Application.Exit Funktion verwenden, wenn Sie eine Winforms-Anwendung ausführen.

Wie zum Beispiel, wenn Sie beenden möchten (kill) Ihre Anwendung auf einen Klick

Sub button1_Click(sender As object, e As System.EventArgs) 
    Application.Exit() 
End Sub 
1

Application.Exit() sollte den Trick (oder etwas ähnliches, nicht VS bekam in fromt von mir ATM)

das ist eine Windows Forms-Anwendung richtig?

3

Wenn es eine Windows Forms-Anwendung ist, ist die "sauberste" Möglichkeit, das Hauptformular zu schließen (zum Beispiel durch Aufruf von Me.Close() darin).

Wenn das Schließen des Hauptformulars die Anwendung nicht beendet, haben Sie wahrscheinlich weitere Threads (die keine Hintergrundthreads sind), die noch ausgeführt werden. Wenn das der Fall ist, sollten Sie untersuchen, warum die Threads noch ausgeführt werden (oder sie als Hintergrund-Threads markieren, wenn sie gestartet werden, damit sie die Anwendung nicht am Leben erhalten).

1

Die wirklich hässliche Art und Weise wäre das System Befehl zu verwenden:

TaskKill.exe/f/im MyApplication.exe

+0

nützlich durch direkten Befehl – Mastercafe

0
using System.Diagnostics; 

/// <summary> 
/// Kill all instances of a Process by name 
/// </summary> 
/// <param name="name">name of the process to kill</param> 
/// <example> 
/// KillAllProcesses("Outlook"); 
/// </example> 
private void KillAllProcesses(string name) 
{ 
    Process[] processes = Process.GetProcessesByName(name); 
    foreach(Process p in processes) 
     p.Kill(); 
} 

dies anderen Verfahren zur Tötung (selbst nicht). Code ist auf C#, aber ich denke, dass Sie in VB.NET übersetzen können.

Auch ich stimme für Form.Close() als den richtigen Weg, um die Anwendung zu schließen, aber manchmal wird es erhebliche Design-Bemühungen erfordern (zum Beispiel wenn Sie die Anwendung schließen möchten, wenn serious Ausnahme in Datenebene auftritt, und Datenschicht haben keine Mittel, Hauptformular über Ausnahme zu informieren) und Application.Exit wird oft als ein einfacher Weg betrachtet ...

ps Für eine Konsolenanwendung sollten Sie auch

Environment.Exit()