2016-06-01 3 views
0

Je cherchais simplement un script simple dans lequel vérifie si explorer.exe est en cours d'exécution. Si c'est le cas, tuez-le et redémarrez-le. Cependant, s'il ne fonctionne pas, lancez-le.Simple script de redémarrage explorer.exe en C#

using System; 
using System.Collections.Generic; 
using System.Diagnostics; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows; 


public partial class App 
{ 
    public static void Main() 
    { 
     Process[] prcChecker = Process.GetProcessesByName("explorer"); 



     if (prcChecker.Length > 0) 
     { 
      foreach (Process p in prcChecker) 
      { 
       p.Kill(); 
      } 
     } 

     else if (prcChecker.Length == 0) 
      Process.Start("explorer.exe"); 

    } 

} 
+0

S'il vous plaît poster votre code pour expliquer et comment vous avez essayé. – techspider

+0

J'ai ajouté mon code ci-dessus. Il redémarre le processus s'il est déjà en cours d'exécution, mais lorsque explorer.exe n'est pas en cours d'exécution, il ouvre simplement un explorateur de fichiers ou ne fait rien du tout – frankjstrike

+0

Essayez [this] (http://stackoverflow.com/questions/22788377/cant -start-explorer-process-in-c-just-the-window-file-explorer), ça pourrait être votre cas. – AdSsa

Répondre

0

Je havent testé, mais peut-être ESt quelque chose comme ça vous êtes à la recherche de

//to kill a process 
foreach (var process in Process.GetProcessesByName("whatever")) 
{ 
process.Kill(); 
} 
//to start 
Process.Start("explorer.exe", "");