Detecter la fermeture d'une application externe

Résolu
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008 - 26 déc. 2005 à 15:31
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 - 27 déc. 2005 à 08:50
Salut tout le monde,

Dans mon programme, je souhaites detecter la fermeture d'un programme externe. J'ai pensé dans un premier temps à lire dans la liste des processus pour verifier si un processus existe à un nom donné. Auriez vous une idée? Il faut savoir que l'application externe est lancée depuis mon programme, ce qui permettrais de récuperer l'ID du process au lancement (c'est ce que j'ai pensé faire):

Process[] procs = Process.GetProcesses();
foreach (Process proc in procs)
{
if (proc.ProcessName == "nom_du_process")
{
ID = proc.Id; label2.Text "ID " + ID;
}
}

Seulement après, comment faire pour verifier la presence de cet ID dans la liste de tous les proc.Id ? Si je fais un simple if(proc.Id != ID) la condition va réagir au premier Id de la liste qui est different... Désolé je début en C#

Amicalement,

Benjamin

6 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
26 déc. 2005 à 15:58
Salut, utilise l'évènement Process.Exited.
3
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008
26 déc. 2005 à 15:36
ah oui, j'ai oublié de préciser, le label2.Text = "ID = " + ID; ne servait que pour les tests, pour vérifier que la variable ID avait la bonne valeur. Il ne faut donc pas en tenir compte
0
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008
26 déc. 2005 à 16:16
Merci beaucoup :)
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
26 déc. 2005 à 16:32
N'oublie pas de mettre Process.EnableRaisingEvents à true sinon l'évènement Exited ne se déclenche pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benji86446 Messages postés 40 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 20 novembre 2008
26 déc. 2005 à 16:49
Parfais je viens de tester, tout marche à merveille :D
Encore merci!
Joyeux Noel
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
27 déc. 2005 à 08:50
Salut Lutinore, j'aime bien le rappel sur la propriété EnableRaisingEvents
0
Rejoignez-nous