調用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 }
執行結果如下: