【发布时间】:2012-07-09 22:45:34
【问题描述】:
所以我的电脑有很多错误。 99% 的时间,它们是由 explorer.exe 愚蠢造成的。我可以手动停止它们,但我想我可以设置一个每隔 10 分钟左右自动停止和启动的时间表,所以我再也不会遇到任何问题了。我的代码不起作用,但我还是把它:
foreach (System.Diagnostics.Process myProc in System.Diagnostics.Process.GetProcesses())
{
if (myProc.ProcessName == "explorer.exe")
{
myProc.Kill();
}
}
当我运行它时,绝对没有任何反应。 Visual Studio 不会出错,程序不会崩溃,等等。它什么也不做。
【问题讨论】:
-
确保您以管理员身份运行它,并使用
GetProcessesByName而不是您当前的检查。此外,我建议不要这样做。 -
最好花时间解决问题,而不是一直重启 explorer.exe...
-
这是一种核心的 Windows 进程——看起来你可能在做一些愚蠢的事情,或者更有可能(而且我更友善)你感染了病毒。
-
你真的应该学习如何使用任何程序员用来完成工作的基本工具。首先是调试器,所以你会看到 Kill() 永远不会被调用。接下来是 Sysinternal 的 AutoRuns 实用程序,因此您可以禁用破坏资源管理器稳定的 shell 扩展。