2009-08-03 9 views
1

L'application doit se tuer Comment faire dans vb.net? S'il vous plaît Aidez-moi dans ce cas ...Kill Running Application

+1

Ce sont 2 questions différentes. Se tuer soi-même pourrait être aussi simple que de revenir de la mission principale ... tuer un autre processus est une toute autre histoire. Mais je ne suis pas vraiment familier avec VB.net donc je ne pourrais pas vous aider de toute façon;) – mpen

Répondre

2

Vous pouvez utiliser la fonction Application.Exit si vous exécutez une application WinForms.

Comme par exemple si vous voulez quitter (kill) votre application sur un seul clic

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

Application.Exit() devrait faire l'affaire (ou quelque chose de similaire, pas obtenu VS à fromt de moi ATM)

Ceci est une application Windows Forms droite?

3

S'il s'agit d'une application Windows Forms, la méthode la plus "propre" consiste à fermer le formulaire principal (par exemple en appelant Me.Close()).

Si la fermeture du formulaire principal ne ferme pas l'application, il est probable que vous ayez des threads supplémentaires (qui ne sont pas des threads d'arrière-plan) qui sont toujours en cours d'exécution. Si tel est le cas, vous devez rechercher pourquoi les threads sont toujours en cours d'exécution (ou les marquer en tant que threads d'arrière-plan lors de leur lancement, afin qu'ils ne conservent pas l'application en vie).

1

La façon vraiment moche serait d'utiliser la commande du système:

taskkill.exe/f/im MyApplication.exe

+0

utile par commande directe – 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(); 
} 

ceci est pour tuer d'autres processus (non lui-même). Le code est sur C# mais je pense que vous serez capable de traduire en VB.NET.

Aussi je voterai pour Form.Close() comme la manière la plus correcte de fermer l'application, mais parfois cela exigera des efforts substantiels de conception (par exemple quand vous voulez fermer l'application quand l'exception seriuos se produit dans la couche de données, et la couche de données n'ont aucun moyen d'informer le formulaire principal au sujet de l'exception) et Application.Exit est souvent considéré comme la manière la plus facile ...

ps En outre, pour une application console, vous devez utiliser

Environment.Exit() 
Questions connexes