1. 程式人生 > >獲取計算機上的所有進程

獲取計算機上的所有進程

reac bject ron process virt adc threads reads 技術分享

實現效果:

  技術分享圖片

知識運用:

  Process類的GetProcesses方法

  public static Process[] GetProcesses()  //為本地計算機上的每個進程資源創建一個新的Process組件

  public static Process[] GetProcesses(string machineName)  //為指定計算機

  Process類的一些屬性

  public string ProcessName { get; }         //獲取進程名稱

  public int Id { get; }                //獲取進程ID

  public ProcessThreadConllection Threads { get; }  //獲取在關聯進程中運行的一組線程

  public int BasePriority { get ;}           //獲取管理進程的基本優先級

  public int WorkingSet { get;}           //獲取關聯進程的物理內春總量 (單位字節)

  public int VirtualMemorySize {get;}         //獲取虛擬內存大小

實現代碼:

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                listView1.Items.Clear();
                Process[] myProcess = Process.GetProcesses(textBox1.Text); 
                string[] Minfo=new string[6];
                foreach(Process pro in myProcess)
                {
                    Minfo[0] = pro.ProcessName;
                    Minfo[1] = pro.Id.ToString();
                    Minfo[2] = pro.Threads.Count.ToString();
                    Minfo[3] = pro.BasePriority.ToString();
                    Minfo[4] = (pro.WorkingSet/1024)+"K";
                    Minfo[5] = (pro.VirtualMemorySize / 1024) + "k";
                    ListViewItem item = new ListViewItem(Minfo);
                    listView1.Items.Add(item);
                }
            }
            catch (Exception)
            { MessageBox.Show("遠程計算機連接失敗"); }

  

獲取計算機上的所有進程