進程管理(Process類)


(Process類在System.Diagnostics命名空間下)

 

【1】獲取本地計算機所有進程

 1 Progress[] myProgress = Progress.GetProcesses(); 

 

【2】獲取本地計算機上指定的名稱的進程

 1 Process[] myProcess = Process.GetProcessesByName("進程名稱"); 

如: 1 Process[] myProcess = Process = Process.GetProcessByNeme("Notepad++"); 

 

【3】獲取遠程計算機的所有進程

 1 Process[] myProcess = Process.GetProcesses(remoteMachineName); 

其中remoteMachineName可以是遠程計算機名稱,也可以是遠程計算機IP地址

 

【4】獲取遠程計算機上指定名稱的進程

 1 Process[] myProcess = Process.GetProcessesByName(processName, remoteMachineName); 

其中processName是不包括.exe或路徑名的進程名稱

 

例子:

 1 using System;
 2 using System.Diagnostics;
 3 
 4 namespace ProcessLocal
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             Process[] myProcess = Process.GetProcesses();
11             Console.Write("進程ID\t");
12             Console.Write("進程名稱\t");
13             Console.Write("物理內存\t");
14             Console.Write("啟動時間\t");
15             //Console.Write("文件路徑");
16             Console.WriteLine();
17             foreach (Process p in myProcess)
18             {
19                 Console.Write(p.Id + "\t");
20                 Console.Write(p.ProcessName + "\t");
21                 Console.Write(string.Format("{0:###,##0.00}MB", p.WorkingSet64 / 1024.0f / 1024.0f) + "\t");
22                 //部分進程無法獲取啟動時間和文件名信息,所以要用try/catch
23                 try
24                 {
25                     Console.Write(String.Format("{0}", p.StartTime) + "\t");
26                     //Console.Write(p.MainModule.FileName + "\t");
27                 }
28                 catch
29                 {
30                     //Console.Write( "\t");
31                     Console.Write("\t");
32                 }
33                 Console.WriteLine();
34 
35             }
36 
37             Console.Read();
38         }
39     }
40 }

 

啟動進程:

 1 using System;
 2 using System.Diagnostics;
 3 
 4 namespace ProcessLocal
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             // 1.啟動進程
11             Process myProcess = new Process();
12             // 准備啟動的進程,在這里是Notepad++
13             myProcess.StartInfo.FileName = "Notepad++.exe";
14             // 創建或者打開Text1.txt文件
15             myProcess.StartInfo.Arguments = "Test1.txt";
16             // 如果啟動的進程帶有窗口,則在這里是正常化窗口
17             myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
18             // 啟動指定進程
19             myProcess.Start();
20         }
21     }
22 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM