欢迎大家提出意见,一起讨论!
转载请标明是引用于 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();
}
}