2010-11-25 13 views
3

Ich versuche eine einfache Anwendung in C# zu erstellen, mit der ich explorer.exe beenden und aktivieren kann. Ich brauche ein solches Programm, damit ich Age of Empires 2 richtig spielen kann, weil es explorer.exe aus irgendeinem Grund nicht mag (ich glaube, es hat mit Aero zu tun). Also habe ich zwei Buttons gemacht, einen, der explorer.exe aktiviert und den anderen deaktiviert. Killing explorer.exe ging in Ordnung, aber die Aktivierung nicht.Das Starten von explorer.exe funktioniert nicht richtig in C#

Ich las auf ein paar Websites, die Sie verwenden müssen Process.Start();, um einen Prozess zu starten. Also habe ich Process.Start("explorer.exe"); gemacht. Nach dem Töten von explorer.exe, führte es die vorherige Zeile aus, aber anstatt meine Taskleiste zurück zu haben, öffnete es 'Libraries' nur, ohne meine Taskleiste zurückzugeben. Ich versuchte auch Process.Start("explorer.exe", "-p"); (ich sah es irgendwo), aber das öffnete "Meine Dokumente".

Was kann ich tun, damit es den Prozess explorer.exe startet, damit ich die Dinge wie die Taskleiste zurück habe? Ich kann es immer noch ordnungsgemäß mit Eingabeaufforderung/Task-Manager/Ausführen starten.

+0

Auch diese Frage ist ziemlich ähnlich - http://stackoverflow.com/questions/1118017/how-do-i-start-explorer-using-process-class-in-c – Dave

Antwort

0

Lösung in that Thema:

foreach(Process p in Process.GetProcesses()) 
{ 
    try 
    { 
     // Compare it with "explorer". 
     if(p.MainModule.ModuleName.Contains("explorer") == true) 
     { 
      p.Kill(); 
     } 
    } 
    catch(Exception e) 
    { 
     // Do some exception handling here. 
    } 

    // Restart explorer. 
    Process.Start("explorer.exe"); 
} 

geben, dass ein Schuss.

+1

Nun, eigentlich die Verbindung, die Sie gaben zuvor (der, den du gesagt hast, war meiner Frage ähnlich) hat den Trick gemacht. Ich habe Process.Start (@ "c: \\ windows \\ explorer.exe"); was perfekt funktioniert hat. Vielen Dank! – Brick

+2

Den Pfad zum Explorer nicht fest codieren. Rufen Sie Envorommment.WindowsDirectory auf. – Joshua

+0

Es ist nicht wirklich wichtig, aber es ist nur für mich selbst. Obwohl ich sehr neu in C# bin, wie würde der genaue Code aussehen, wenn ich es mit Environment.WindowsDirectory mache? Auch visuelle C# erkennt den WindowsDirectory-Teil nicht. – Brick