在C#中,我可以使用
process.start(program.exe);
如何判断程序是否仍在运行,或者程序是否已关闭?
发布于 2012-09-05 02:45:12
MSDN System.Diagnostics.Process
如果您现在想知道,可以检查HasExited
属性。
var isRunning = !process.HasExited;
如果这是一个快速的过程,就等着吧。
process.WaitForExit();
如果要在后台启动一个事件,请在将EnableRaisingEvents设置为true之后订阅已退出的事件。
process.EnableRaisingEvents = true;
process.Exited += (sender, e) => { /* do whatever */ };
发布于 2012-09-05 02:46:56
Process p = new Process();
p.Exited += new EventHandler(p_Exited);
p.StartInfo.FileName = @"path to file";
p.EnableRaisingEvents = true;
p.Start();
void p_Exited(object sender, EventArgs e)
{
MessageBox.Show("Process exited");
}
发布于 2012-09-05 02:46:31
如果使用静态Process
调用(或使用new
创建实例),请确保保存Process.Start()
对象,然后根据需要检查HasExited
属性或订阅Exited
事件。
https://stackoverflow.com/questions/12273825
复制相似问题