管理进程示例

更新:2007 年 11 月

此示例使用 System.Diagnostics 命名空间中的对象来收集有关正在运行的进程的信息。

获取示例及其安装说明

  • 执行下列一项或多项操作:

    • 在“帮助”菜单上,单击“示例”。

      自述文件将显示有关示例的信息。

    • 访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。

    • 在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。

有关更多信息,请参见定位示例文件

安全说明:

此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。

运行此示例

  1. 按 F5。

  2. 单击一个进程以加载其详细信息和线程数据。使用菜单查看由特定进程加载的模块列表。在程序运行过程中按 F5 可以刷新进程列表。

演示

通过调用 GetProcesses 方法,当前计算机上的进程将显示在 ListView 控件中。选定一个进程时,有关该进程的详细信息会显示在另外一个 ListView 控件中。使用表示进程的 Process 实例可以检索进程详细信息。Threads 属性用于枚举进程的线程,这些线程然后显示在另外一个 ListView 控件中。每个线程由一个 ProcessThread 实例表示。通过选择进程,然后在主菜单或上下文菜单中单击“模块”,可以检查每个进程的模块。一个单独的窗体显示由进程加载的模块,并包括从中加载代码的文件的名称。

有三个进程没有提供完整的信息:

  • _Total   此进程在代码中添加,它不表示一个进程。它用于提供总的执行时间和处理器利用率。

  • Idle   尽管作为进程返回,但它不是可以返回数据的进程。

  • System   此进程不公开模块信息。

您可能无法访问有关一个进程的所有信息。在这种情况下,将会显示一个消息框。

请参见

参考

Process

System.Diagnostics

ProcessThread

Threads