Comment killer un process des qu il aparait [Résolu]

Signaler
Messages postés
1
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
-
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011
-
Bonjour,

j ai reussi en C# a lancer un process qui kill un autre process qui tourne en permanance sur mon pc.
Le probleme c est que ledit process se relance apres un certain temps x...

Je voudrai donc que mon process puisse "ecouter" et killer l autre process des qu il aparait
ou
killer le process toute les x minutes par exemple.

Pourriez vous m aider ?
merci d avance

Pierrick Triplet

2 réponses

Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

fait le sur un thread de background avec la priorité : Lowest

imports System.threading

au chargement :
Thread thKill = new Thread(addressof KillProcess);
thKill.IsBackground = True;
thKill.priority = Priority.Lowest;
thKill.name = "KillProcess";
thKill.Start();

private void KillProcess() {

    while (true) {
      
       Process prc = new Process(...)
       [Reste du code pour reperer le proccess en question et le kill cf la doc et le reste du forum]
      
       application.Doevents()
       thread.CurrentThread.Sleep(1000);
    }
}

TeBeCo
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

d'ailleur mon code est un peu moche je viens de m'en rendre compte il faut eviter de faire un "new" a chaque boucle dans le "while()" sinon la memoire va morfler
il faut instancier le minimum possible et si possible uniquement si le thread existe initialiser les variable avant le demarrage de la boucle mais tjs dans le "KillProcess()"

et au moment tu dechargement du programme penser a faire un :
thKill.Abort();
et le detruire
pour cela il faudra rajouter un :
Try {
code qui boucle
}
Catch(ThreadAbortedException) {
//ne rien faire
}

j'ai un doute sur la syntaxe et le nom de l'exception mais elle sera belle et bien levé il faut donc la gérée (en ne faisant rien) mais au moins en la capturant sinon le prog plante

TeBeCo