private void button2_Click(object sender, EventArgs e)

{

Process p = new Process();

p.StartInfo = new ProcessStartInfo("Test.exe"); //调用的EXE 也可设置EXE所在路径

p.EnableRaisingEvents = true;// 设置进程终止时激发Exited事件

p.Exited += new EventHandler(p_Exited); //进程终止时 触发p_Exited方法

p.Start();


}

private void p_Exited(object sender, EventArgs e)

{

MessageBox.Show("程序已经退出!");

}


即使在任务管理器中,手动结束Test.exe进程,也会触发系统中设定的方法。如果有需要让EXE只运行一次也是可以的,可以从EXE上进行控制,也可在上面的代码中进行控制。