下面的示例是演示了如何通过C#获取系统中所有进程的相关信息,包含名称和状态等。
using System;
using System.Diagnostics;
namespace ProcessStatus
{
class Program
{
static void Main(string[] args)
{
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
Console.WriteLine("Process Name: {0}, Responding: {1}", process.ProcessName, process.Responding);
}
Console.Write("press enter");
Console.ReadLine();
}
}
}
参考链接:https://iqcode.com/code/csharp/c-copy-directory
补充说明
- Process.GetProcesses() 返回本机全部进程;GetProcessesByName("xxx") 可按名称筛选。
- 常用属性:Id、ProcessName、WorkingSet64(内存)、Responding(是否响应)、StartTime。
- 读取某些系统进程的属性可能抛异常,需 try/catch 或先做判断。
- Process 对象需 Dispose,建议用 using 释放句柄。