Detecter la fermeture d'une application externe [Résolu]

Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008
- - Dernière réponse : 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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
27
3
Merci
Salut, utilise l'évènement Process.Exited.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008
0
Merci
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
Commenter la réponse de benji86446
Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008
0
Merci
Merci beaucoup :)
Commenter la réponse de benji86446
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
27
0
Merci
N'oublie pas de mettre Process.EnableRaisingEvents à true sinon l'évènement Exited ne se déclenche pas.
Commenter la réponse de Lutinore
Messages postés
40
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
20 novembre 2008
0
Merci
Parfais je viens de tester, tout marche à merveille :D
Encore merci!
Joyeux Noel
Commenter la réponse de benji86446
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
1
0
Merci
Salut Lutinore, j'aime bien le rappel sur la propriété EnableRaisingEvents
Commenter la réponse de t_barbillon