繼續(xù)學(xué)習(xí)基本的C#編程知識(shí)。
定時(shí)關(guān)閉進(jìn)程,主要涉及到兩個(gè)方面,一是如何找出要關(guān)閉的進(jìn)程,并且關(guān)閉它,二是做到時(shí)間的控制,就是所謂的定時(shí)。
對(duì)于進(jìn)程的處理,我用的是C#中的PRocess類。
該類的作用是可以用于進(jìn)程的管理,所需命名空間是:System.Diagnostics; System.Diagnostics 提供特定的類,使您能夠與系統(tǒng)進(jìn)程、事件日志和性能計(jì)數(shù)器進(jìn)行交互。
運(yùn)用GetProcesses()方法,可以獲得系統(tǒng)進(jìn)程,利用Process.GetProcessesByName(proName);方法,可以依據(jù)進(jìn)程名,獲得你想要的進(jìn)程。
然后,再運(yùn)用kill();方法,即可實(shí)現(xiàn)關(guān)閉進(jìn)程的需求。
代碼片段如下:
private void button1_Click(object sender, EventArgs e) //核心代碼 { try { string str = ""; Process[] processes; //新建數(shù)組,用于獲取當(dāng)前活動(dòng)進(jìn)程信息. processes = System.Diagnostics.Process.GetProcesses(); //Grab some basic information for each process. Process process = new Process(); //新建process類對(duì)象 for (int i = 0; i < processes.Length - 1; i++) { process = processes[i]; //將數(shù)組的每個(gè)值 賦值到對(duì)象process str = str + Convert.ToString(process.Id) + " : " + process.ProcessName + "/r/n"; //這個(gè)str 我沒(méi)有用到 comboBox1.Items.Add(process.ProcessName); //將進(jìn)程名,添加到下拉菜單 } comboBox1.SelectedIndex = 0; //下拉菜單顯示第一項(xiàng) } catch { System.Windows.Forms.MessageBox.Show("不合法的進(jìn)程"); //異常顯示 } } private void timer1_Tick(object sender, EventArgs e) //時(shí)間到,殺進(jìn)程。 if (comboBox2.Text != "") //如果 有選擇進(jìn)程,就開(kāi)始kil try { string proName = comboBox2.Text; //獲取選擇的進(jìn)程 Process[] p = Process.GetProcessesByName(proName); if (p.Length > 1) { //如果能獲得進(jìn)程名>1,則將同名進(jìn)程殺干凈 for (int i = 0; i < p.Length - 1; i++) { p[i].Kill(); } } else { p[0].Kill(); //進(jìn)程殺 } timer1.Stop(); //進(jìn)程關(guān)閉后,停止計(jì)時(shí)器的使用 MessageBox.Show(comboBox2.Text + "關(guān)閉成功!快滾去干正經(jīng)事吧!"); //彈出信息 return; } catch { timer1.Stop(); //停止計(jì)時(shí)器的使用 MessageBox.Show("無(wú)法關(guān)閉此進(jìn)程!"); } } else { MessageBox.Show("請(qǐng)選擇要終止的游戲!"); } } 對(duì)于定時(shí),我采取的是用于timer控件的方法。
用戶在界面選擇要游戲的時(shí)間,然后將該時(shí)間設(shè)置為timer時(shí)間的啟動(dòng)時(shí)間,時(shí)間到即調(diào)用上面說(shuō)的關(guān)閉進(jìn)程部分。同時(shí)用timer控件實(shí)現(xiàn)顯示倒計(jì)時(shí)的目的。
小程序的界面如下:

除了實(shí)現(xiàn)基本功能之外,還復(fù)習(xí)了一些基本控件的使用,時(shí)間的處理,如倒計(jì)時(shí)的實(shí)現(xiàn)。
用了記事本來(lái)保存下拉菜單中用戶添加的游戲進(jìn)程,因此復(fù)習(xí)了文件的讀寫。此外,還學(xué)習(xí)了用setting來(lái)保存用戶的勾選信息。
整個(gè)代碼在我百度網(wǎng)盤, 鏈接:http://pan.baidu.com/s/1skCDwrN 提取密碼:l2ci
菜鳥一個(gè),寫得很粗糙,輕噴。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注