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
42
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
42
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