📜  如何获取进程列表c#(1)

📅  最后修改于: 2023-12-03 15:09:14.758000             🧑  作者: Mango

如何获取进程列表 in C#

在 C# 中,我们可以通过 System.Diagnostics 命名空间的 Process 类来获取进程的列表和信息。以下是获取进程列表的几种方法:

1. 使用 Process.GetProcesses 方法

Process 类的 GetProcesses 静态方法可返回正在运行的所有进程的数组。

Process[] processList = Process.GetProcesses();
foreach (Process process in processList)
{
    Console.WriteLine(process.ProcessName);
}

以上代码将输出所有正在运行的进程名称。如果您想要获取更多的进程信息,您可以使用 Process 类的其他属性,例如 Id、StartTime 等。

2. 使用 Process.GetProcessesByName 方法

如果您仅仅想获取特定进程名的进程,您可以使用 GetProcessesByName 方法,该方法将返回特定名称的进程数组。

Process[] processList = Process.GetProcessesByName("notepad");
foreach (Process process in processList)
{
    Console.WriteLine(process.Id);
}

以上代码将输出所有名为“notepad”的进程的 ID。

3. 使用 WMI 获取进程列表

使用 WMI (Windows Management Instrumentation) 是另一种获取进程列表的方法。

ManagementClass processClass = new ManagementClass("Win32_Process");
ManagementObjectCollection processList = processClass.GetInstances();
foreach (ManagementObject obj in processList)
{
    Console.WriteLine(obj["Name"]);
}

以上代码将输出所有进程的名称。

需要注意的是,使用 WMI 获取进程列表的方法可能会比使用 Process 类的方法慢,因为 WMI 需要与系统交互。但是,它可以提供更多的进程信息,例如 CPU 和内存占用率。如果您需要更多的进程信息,您可以使用 WMI。

以上就是 C# 中获取进程列表的几种方法。根据您的需求选择适合您的方法即可。