Arrêter l’événement de débogage en C #

Comment et où puis-je exécuter une commande lorsque l’application se ferme, même s’il s’agit d’un arrêt de débogage?

J’ai besoin d’exécuter une commande dans n’importe quelle sortie, même si l’utilisateur est un développeur et cliquez sur le bouton “Arrêter le débogage” de Visual Studio.

J’essaye avec

Application.ApplicationExit += new EventHandler(this.OnApplicationExit); 

mais ça ne marche pas. Peut-être que je me trompe ou que ce n’est pas l’événement.

J’utilise Winforms et non, sur Form Close ne peut pas être l’événement.

J’utilise Visual Studio 2005 Net Framework 2.0 (selon les besoins du client), mais ce n’est que pour information.

Peut-être puis-je réécrire ceci?

 public static void Exit(); 

Le problème est que la fonction “arrêter le débogage” arrêtera complètement l’application. Par conséquent, aucun code supplémentaire ne sera exécuté dans cette application.

Votre seul moyen d’y parvenir serait de surveiller le processus en cours de débogage à l’extérieur et d’exécuter le code s’il a été arrêté.

Selon [MSDN]:

Arrêter le débogage termine le processus en cours si le programme a été lancé à partir de Visual Studio.

Cependant, vous pourrez peut-être réaliser ce que vous voulez avec un complément Visual Studio .

Essaye ça:

 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace Prueba { static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); //This is the magic line code :P AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit); } static void CurrentDomain_ProcessExit(object sender, EventArgs e) { MessageBox.Show(""); } } } 

La référence est ici (Fredrik Mörk): Evénement de sortie de l’application .NET Console

Selon MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.application.applicationexit%28v=vs.80%29.aspx

 // Handle the ApplicationExit event to know when the application is exiting. Application.ApplicationExit += new EventHandler(this.OnApplicationExit); private void OnApplicationExit(object sender, EventArgs e) { // When the application is exiting } 

Est-ce ce que vous avez mis en œuvre?