WPF:杀死Windows GUI(explorer.exe),然后将其还原

时间:2017-01-20 16:26:41

标签: c# wpf windows user-interface explorer

我想要做的是杀死explorer.exe主进程(这将导致以编程方式杀死Windows gui,然后再次打开gui。我可以通过手动杀死然后通过taskmanager启动进程来实现这一点,但是我无法弄清楚如何从wpf visual C#程序中杀死主浏览器进程。此外,我尝试从taskmanager中杀死它,然后再次启动windows gui:

var proc = new Process
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName = "explorer.exe",
                    Arguments = "",
                    UseShellExecute = true,
                    CreateNoWindow = true
                }
            };
            proc.Start();

但它只启动一个新的资源管理器窗口,而不是windows gui。有人可以帮我杀死win gui并用一些代码再次启动它吗?

2 个答案:

答案 0 :(得分:2)

您可以使用以下命令获取进程:

var explorerProcesses = Process.GetProcessesByName("explorer");

然后你可以循环并杀死它们:

foreach(var process in explorerProcesses)
{
    process.Kill()
}

您的程序可能需要以管理员身份运行以杀死资源管理器,我不确定。

答案 1 :(得分:0)

我终于设法找到解决方案:通过获取进程并使用Kill()仅重新启动gui来杀死explorer.exe。要完全关闭它,请使用

        var proc = new Process
        {
            StartInfo = new ProcessStartInfo
            {
                FileName = "taskkill.exe",
                Arguments = "/F /IM explorer.exe",
                UseShellExecute = true,
                CreateNoWindow = true
            }
        };
        proc.Start();