淺談C#中Process類的使用詳解
更新時間:2013年05月18日 11:43:36 作者:
本篇文章是對C#中Process類的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
Process類的作用是對系統(tǒng)進(jìn)程進(jìn)行管理,我們使用Process類中的一些方法結(jié)合Winform開發(fā)個簡單的進(jìn)程管理器:
在使用Process類的時候,先導(dǎo)入命名空間System.Diagnostics。
使用Winform畫出如上的界面,數(shù)據(jù)顯示使用的是Listview。
在窗體的Load事件中寫出如下代碼:
復(fù)制代碼 代碼如下:
private void Form1_Load(object sender, EventArgs e)
{
listView1.FullRowSelect = true;
GetProcess();
}
其中GetProcess方法如下:
復(fù)制代碼 代碼如下:
private void GetProcess()
{
listView1.Items.Clear();
Process[] proList = Process.GetProcesses(".");//獲得本機(jī)的進(jìn)程
lblNum.Text = proList.Length.ToString(); //當(dāng)前進(jìn)程數(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() }); //進(jìn)程ID 使用內(nèi)存
listView1.Items.Add(lvi);
}
}
如果想終止一個進(jìn)程,先選中一個進(jìn)程,點(diǎn)擊上面的進(jìn)程按鈕:
click事件代碼如下:
復(fù)制代碼 代碼如下:
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ù)進(jìn)程命獲得指定的進(jìn)程
p[0].Kill(); //殺死該進(jìn)程
MessageBox.Show("進(jìn)程關(guān)閉成功!");
GetProcess();
}
catch
{
MessageBox.Show("無法關(guān)閉此進(jìn)程!");
}
}
else
{
MessageBox.Show("請選擇要終止的進(jìn)程!");
}
}
當(dāng)然我們可以調(diào)用Process的start方法來開啟一個進(jìn)程:
啟動按鈕的事件如下:
復(fù)制代碼 代碼如下:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != string.Empty)
{
Process.Start(textBox1.Text); //啟動一個進(jìn)程
}
else
{
MessageBox.Show("請輸入啟動項");
textBox1.Focus();
}
}
運(yùn)行程序,開始使用自己的進(jìn)程管理器吧~~~~~
相關(guān)文章
c#泛型學(xué)習(xí)詳解 創(chuàng)建線性鏈表
Visual C# 2.0 的一個最受期待的(或許也是最讓人畏懼)的一個特性就是對于泛型的支持。這篇文章將告訴你泛型用來解決什么樣的問題,以及如何使用它們來提高你的代碼質(zhì)量,還有你不必恐懼泛型的原因2014-01-01Unity編輯器資源導(dǎo)入處理函數(shù)OnPostprocessAudio使用案例
這篇文章主要為大家介紹了Unity編輯器資源導(dǎo)入處理函數(shù)OnPostprocessAudio使用案例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08