我正在构建一个小程序,检查资源监视器是否打开,如果打开,则关闭它。
bool a = true;
while (a == true)
{
foreach (var p in Process.GetProcessesByName("perfmon"))
{
Process.Start("taskkill", "/F /IM perfmon.exe");
// "perfmon" "Taskmgr"
foreach (var t in Process.GetProcessesByName("taskkill"))
{
...
}
}
}
问题是,它占用了我CPU性能的近30%,因此如何降低CPU使用率?
我还尝试添加其他程序,如任务列表和任务管理器,但没有成功,你有什么想法吗
bool a = true;
while (a == true)
{
System.Threading.Thread.Sleep(1000);
foreach (var p in Process.GetProcessesByName("Taskmgr"))
{
Process.Start("taskkill", "/F /IM Taskmgr.exe");
// "perfmon" "Taskmgr"
foreach (var t in Process.GetProcessesByName("taskkill"))
{
System.Threading.Thread.Sleep(60000);
Process b = Process.Start("");
}
}
foreach (var p1 in Process.GetProcessesByName("perfmon"))
{
foreach (var t1 in Process.GetProcessesByName("taskkill"))
{
System.Threading.Thread.Sleep(60000);
Process b1 = Process.Start("");
}
}
foreach (var p2 in Process.GetProcessesByName("tasklist"))
{
foreach (var t2 in Process.GetProcessesByName("taskkill"))
{
System.Threading.Thread.Sleep(60000);
Process b2 = Process.Start("");
}
}
把一个睡眠()
在你的同时循环:
System.Threading.Thread.Sleep(1000);
你的程序不断地检查你电脑上的所有进程。如果它这样做,每秒只检查一次,那就足够了。