歡迎大家提出意見,一起讨論!
轉載請标明是引用于 http://blog.csdn.net/chenyujing1234
代碼(VS2008):
http://www.rayfile.com/zh-cn/files/10801d54-991d-11e1-9109-0015c55db73d/
Process元件提供對本地和遠端程序的通路,并使用使用者能夠啟動和停止本地系統程序。
1、關鍵技術
Process的屬性
(1)StartInfor屬性
用于擷取或設定要傳遞給Process的Start方法的屬性。
(2)Start方法
啟動(或重用)此Process元件的StartInfo屬性指定的程序資源,并将其與該元件關聯。
(3)GetProcessByName
建立新的Process元件的數組,并将其與本地計算機上共享指定的程序名稱的所有程序資源關聯
public static Process[] GetProcessesByName(string processName);
2、設計過程
private void Form1_Load(object sender, EventArgs e)
{
// 設定要啟動的應用程式
process1.StartInfo.FileName = "notepad.exe";
}
private void button1_Click(object sender, EventArgs e)
{
// 啟動記事本程序
process1.Start();
}
private void button2_Click(object sender, EventArgs e)
{
// 聲明一個程序數組
System.Diagnostics.Process[] myProcess;
// 擷取目前的所有記事本程序
myProcess = System.Diagnostics.Process.GetProcessesByName("Notepad");
// 循環周遊數組中的每個元素
foreach (System.Diagnostics.Process instance in myProcess)
{
// 關閉擁有使用者界面的程序
instance.CloseMainWindow();
// 在指定的時間内等待關聯程序的退出
instance.WaitForExit(3000);
// 釋放與此元件相關聯的所有資源
instance.Close();
}
}