调用Process.GetCurrentProcess();可以得到当前进程,返回的是一个进程对象。需要引用的命名空间为:System.Diagnostics
如果只想看当前进程的Id,可以这样写:
Console.WriteLine($"Process.Currentprocess = ({Process.GetCurrentProcess().Id})");
调用Process.GetProcesses();可以得到当前电脑运行的所有进程,返回的是一个Process数组,里面每个元素都是一个Process对象,如果想打印所有进程的进程名和Id,可以这样写:
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
Console.WriteLine($"ProcessName = ({process.ProcessName}), Id = {process.Id}");
}
为了验证程序的正确性,按“CTRL + ALT + DEL”调出任务管理器,在详细信息一栏中可以看到进程的PID。为了方便查看,将进程进行一下筛选,完整代码如下:
1 using System;
2 using System.Diagnostics;
3
4 namespace Test
5 {
6 class Test
7 {
8 static void Main(string[] args)
9 {
10 Process[] processes = Process.GetProcesses();
11 foreach (Process process in processes)
12 {
13 if (process.ProcessName.Contains("360"))
14 {
15 Console.WriteLine($"ProcessName = ({process.ProcessName}), Id = {process.Id}");
16 }
17 }
18 Console.ReadKey();
19 }
20 }
21 }
执行结果如下: