猿问

如何列出Windows中运行的所有进程?

我想找到一种遍历所有活动进程并对它们进行诊断检查(内存使用,CPU时间等)的方法,类似于任务管理器。

该问题分为两部分:

  1. 找到所有过程

  2. 查找有关它们的诊断属性

我什至不确定要在哪个命名空间中查找它。任何帮助/提示/链接都将不胜感激。


萧十郎
浏览 669回答 3
3回答

不负相思意

实际上,查找所有过程相当容易:using System.Diagnostics;Process[] processes = Process.GetProcesses();foreach (Process process in processes){    // Get whatever attribute for process.}

收到一只叮咚

JaredPar已经指出了Process该类,因此我要补充一点,您应该知道,该类在创建实例时为流程信息创建快照。这不是实时取景。要更新它,您必须调用Refresh()实例。还请记住,在检查过程时该过程可能会关闭,因此请准备好捕获异常并进行相应处理。最后,如果您致电,Process.GetProcesses()您还将获得伪进程“ idle”和“ system”。IIRC它们具有特定的进程ID,因此您可以轻松地将它们过滤掉。
随时随地看视频慕课网APP
我要回答