Kill explorer.exe puis le relancer...

Résolu
XBOX116_4ever Messages postés 19 Date d'inscription dimanche 4 avril 2004 Statut Membre Dernière intervention 17 février 2008 - 4 sept. 2005 à 00:16
XBOX116_4ever Messages postés 19 Date d'inscription dimanche 4 avril 2004 Statut Membre Dernière intervention 17 février 2008 - 4 sept. 2005 à 16:33
Bonjour à tous!



Voilà je suis en train de programmer un petit programme qui redémmare
mon "explorer.exe" (et je suis débutant). Je réussi à le lancé (même si
je sais bien qu'il est déjà lancé) et il m'affiche "Mes doccuments".
Tout va bien jusque là, mais ensuite rien ne se passe alors que la
commande suivante devrait etre un KILL.

Voici la partie de mo code à étudier:



Process myProcess;

myProcess =
Process.Start("Explorer.exe"); //Je sais qu'on derait plutôt utilisé
une varialble mais aidez moi à l'écrire car j'en ai été incapable...

myProcess.Kill();

myProcess.WaitForExit();

myProcess = Process.Start("Explorer.exe");



Serait-ce parce qu'il me faut une autorisation...



Merci d'avance!

XBOX116_4ever
A voir également:

7 réponses

cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
4 sept. 2005 à 03:39
tu peux utiliser ca:

Process[] myProcesses = Process.GetProcessesByName("explorer");



foreach(Process myProcess
in myProcesses)


{


myProcess.Kill();


myProcess.WaitForExit();


}

comme ca tu tues explorer.exe
il est supposé redermarrer tout seul

@++
3
XBOX116_4ever Messages postés 19 Date d'inscription dimanche 4 avril 2004 Statut Membre Dernière intervention 17 février 2008
4 sept. 2005 à 16:06
Effectivement,



Faudrait t'il que je mettre cette ligne 2 fois:



Process[] myProcesses = Process.GetProcessesByName("explorer");

Process[] myProcesses = Process.GetProcessesByName("non de l'autre processus");


???


XBOX116_4ever
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 sept. 2005 à 16:24
Oui, que tu fasses le traitement pour chaque processus.
Et tu devrais peut etre chercher le moyen de récupérer le nom d'utilisateur associé au processus, afin de ne faire le kill que sur le processus de l'utilisateur de ton appli : imagine ton programme sur du multi-utilisateur, je doute que les autres utilisateurs de la machine apprecient de voir leur explorer se fermer... :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
XBOX116_4ever Messages postés 19 Date d'inscription dimanche 4 avril 2004 Statut Membre Dernière intervention 17 février 2008
4 sept. 2005 à 15:47
Je test ça tout desuite...

XBOX116_4ever
0

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

Posez votre question
XBOX116_4ever Messages postés 19 Date d'inscription dimanche 4 avril 2004 Statut Membre Dernière intervention 17 février 2008
4 sept. 2005 à 15:53
Celà fonctionne à merveille!



Serait-t'il possible de le faire par exemple avec plusieurs processus



Par Exemple:

Process[] myProcesses = Process.GetProcessesByName("explorer", "non de l'autre processus");



Ma syntaxe est-elle correcte?

XBOX116_4ever
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 sept. 2005 à 15:58
Pas vraiment non, la surcharge que tu utilises est censée prendre un nom de machine en 2eme paramètre, pas un nom de processus.
Doc : GetProcessesByName

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
XBOX116_4ever Messages postés 19 Date d'inscription dimanche 4 avril 2004 Statut Membre Dernière intervention 17 février 2008
4 sept. 2005 à 16:33
D'accord, je vais aller chercher dans la documentation.



Merci à vous deux.

XBOX116_4ever
0
Rejoignez-nous