Jeśli zabiję explorer.exe w ten sposób:
private static void KillExplorer()
{
var processes = Process.GetProcessesByName("explorer");
Console.Write("Killing Explorer... ");
foreach (var process in processes)
{
process.Kill();
process.WaitForExit();
}
Console.WriteLine("Done");
}
Natychmiast uruchamia się ponownie.
Ale jeśli użyję taskkill /F /IM explorer.exe
lub zabij go z menedżera zadań, nie uruchamia się ponownie.
Dlaczego? Co za różnica? Jak mogę zamknąć explorer.exe z kodu bez ponownego uruchamiania? Jasne, mogłem zadzwonić do taskkill z mojego kodu, ale miałem nadzieję na czystsze rozwiązanie ...