Kill explorer.exe puis le relancer... [Résolu]

XBOX116_4ever 19 Messages postés dimanche 4 avril 2004Date d'inscription 17 février 2008 Dernière intervention - 4 sept. 2005 à 00:16 - Dernière réponse : XBOX116_4ever 19 Messages postés dimanche 4 avril 2004Date d'inscription 17 février 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

cs_badrbadr 475 Messages postés jeudi 19 juin 2003Date d'inscription 3 novembre 2008 Dernière intervention - 4 sept. 2005 à 03:39
+3
Utile
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

@++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_badrbadr
XBOX116_4ever 19 Messages postés dimanche 4 avril 2004Date d'inscription 17 février 2008 Dernière intervention - 4 sept. 2005 à 16:06
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de XBOX116_4ever
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 4 sept. 2005 à 16:24
+3
Utile
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#
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
XBOX116_4ever 19 Messages postés dimanche 4 avril 2004Date d'inscription 17 février 2008 Dernière intervention - 4 sept. 2005 à 15:47
0
Utile
Je test ça tout desuite...

XBOX116_4ever
Commenter la réponse de XBOX116_4ever
XBOX116_4ever 19 Messages postés dimanche 4 avril 2004Date d'inscription 17 février 2008 Dernière intervention - 4 sept. 2005 à 15:53
0
Utile
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
Commenter la réponse de XBOX116_4ever
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 4 sept. 2005 à 15:58
0
Utile
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#
Commenter la réponse de cs_coq
XBOX116_4ever 19 Messages postés dimanche 4 avril 2004Date d'inscription 17 février 2008 Dernière intervention - 4 sept. 2005 à 16:33
0
Utile
D'accord, je vais aller chercher dans la documentation.



Merci à vous deux.

XBOX116_4ever
Commenter la réponse de XBOX116_4ever

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.