2016-06-01 21 views
0

Ich habe nur für ein einfaches Skript, in dem geprüft wird, ob explorer.exe läuft. Wenn dies der Fall ist, dann töte es und starte es neu. Wenn es jedoch nicht ausgeführt wird, starten Sie es.Einfache explorer.exe restart Skript in 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

schreiben Bitte Ihren Code zu erklären, was und wie Sie versucht haben. – techspider

+0

Ich habe meinen obigen Code hinzugefügt. Es startet den Prozess neu, wenn es bereits ausgeführt wird, aber wenn explorer.exe nicht ausgeführt wird, wird nur ein Dateiexplorer geöffnet oder gar nichts ausgeführt. – frankjstrike

+0

Versuchen Sie es [this] (http://stackoverflow.com/questions/22788377/cant -Start-Explorer-Prozess-in-c-nur-das-Fenster-Datei-Explorer), könnte es Ihr Fall sein. – AdSsa

Antwort

0

ich haben es getestet, aber vielleicht es ist so etwas wie dieses Du suchst

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