当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何列出在Windows中运行的所有进程?》经验,为你挑选了2个好方法。

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

问题分为两部分:

    查找所有流程

    查找有关它们的诊断属性

我甚至不确定要在哪个命名空间中查看它.任何帮助/提示/链接都很感激.



1> JaredPar..:

查找所有流程

您可以通过Process类完成此操作

using System.Diagnostics;
...
var allProcesses = Process.GetProcesses();

运行诊断程序

你能在这里给我们更多的信息吗?目前尚不清楚你想做什么.

Process类提供了一些信息,虽然这可能会帮助你.可以查询此类

所有线程

主窗把手

所有加载的模块

有关内存(分页,虚拟,工作集等)的各种诊断信息

基本流程信息(ID,名称,磁盘位置)

编辑

OP提到他们想获得内存和CPU信息.这些属性在Process类上很容易获得(由GetProcesses()返回).下面是列出所有支持的属性的MSDN页面.有各种内存和CPU可供选择,以满足您的需求.

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

码:

将此行添加到您的使用列表:

using System.Diagnostics;

现在,您可以使用Process.GetProcesses()方法获取进程列表,如下例所示:

Process[] processlist = Process.GetProcesses();

foreach (Process theprocess in processlist)
{
    Console.WriteLine("Process: {0} ID: {1}", theprocess.ProcessName, theprocess.Id);
}



2> Mez..:

实际上找到所有流程非常简单:

using System.Diagnostics;

Process[] processes = Process.GetProcesses();

foreach (Process process in processes)
{
    // Get whatever attribute for process.
}

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有