Process.GetProcessByName returns 不该清空

Process.GetProcessByName returns empty when it shouldn't

我有这个代码:

foreach (var processToKill in Process.GetProcessesByName("explorer.exe"))
{
    processToKill.Kill();
}

然而,当我运行它时,processToKill总是returns空。 explorer.exe 是 运行宁:

这是在 windows 8.1 上发生的,但也在 windows 7.

上发生

没有EXPLORER.EXE。有没有后缀的EXPLORER

试试

foreach (var processToKill in Process.GetProcessesByName("explorer"))
{
    processToKill.Kill();
}

从进程名称中删除扩展名。

您可以尝试使用以下代码:

     Process.GetProcessesByName(Path.GetFileNameWithoutExtension("explorer.exe"));