Process類的作用是對系統(tǒng)進程進行管理,我們使用Process類中的一些方法結(jié)合Winform開發(fā)個簡單的進程管理器:
在使用Process類的時候,先導入命名空間System.Diagnostics。
使用Winform畫出如上的界面,數(shù)據(jù)顯示使用的是Listview。
在窗體的Load事件中寫出如下代碼:
private void Form1_Load(object sender, EventArgs e)
{
listView1.FullRowSelect = true;
GetProcess();
}
其中GetProcess方法如下:
private void GetProcess()
{
listView1.Items.Clear();
Process[] proList = Process.GetProcesses(".");//獲得本機的進程
lblNum.Text = proList.Length.ToString(); //當前進程數(shù)量
foreach (Process p in proList)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = p.ProcessName;
lvi.SubItems.AddRange(new string[] { p.Id.ToString(),p.PrivateMemorySize64.ToString() }); //進程ID 使用內(nèi)存
listView1.Items.Add(lvi);
}
}
如果想終止一個進程,先選中一個進程,點擊上面的進程按鈕:
click事件代碼如下:
private void button2_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
try
{
string proName = listView1.SelectedItems[0].Text;
Process[] p = Process.GetProcessesByName(proName); //根據(jù)進程命獲得指定的進程
p[0].Kill(); //殺死該進程
MessageBox.Show("進程關(guān)閉成功!");
GetProcess();
}
catch
{
MessageBox.Show("無法關(guān)閉此進程!");
}
}
else
{
MessageBox.Show("請選擇要終止的進程!");
}
}
當然我們可以調(diào)用Process的start方法來開啟一個進程:
啟動按鈕的事件如下:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != string.Empty)
{
Process.Start(textBox1.Text); //啟動一個進程
}
else
{
MessageBox.Show("請輸入啟動項");
textBox1.Focus();
}
}
運行程序,開始使用自己的進程管理器吧~~~~~