首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# process.start,我怎么知道这个过程是否结束?

C# process.start,我怎么知道这个过程是否结束?
EN

Stack Overflow用户
提问于 2012-09-05 02:42:37
回答 5查看 46.2K关注 0票数 32

在C#中,我可以使用

process.start(program.exe);

如何判断程序是否仍在运行,或者程序是否已关闭?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-09-05 02:45:12

MSDN System.Diagnostics.Process

如果您现在想知道,可以检查HasExited属性。

代码语言:javascript
运行
复制
var isRunning = !process.HasExited;

如果这是一个快速的过程,就等着吧。

代码语言:javascript
运行
复制
process.WaitForExit();

如果要在后台启动一个事件,请在将EnableRaisingEvents设置为true之后订阅已退出的事件。

代码语言:javascript
运行
复制
process.EnableRaisingEvents = true;
process.Exited += (sender, e) => {  /* do whatever */ };
票数 69
EN

Stack Overflow用户

发布于 2012-09-05 02:46:56

代码语言:javascript
运行
复制
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");
}
票数 18
EN

Stack Overflow用户

发布于 2012-09-05 02:46:31

如果使用静态Process调用(或使用new创建实例),请确保保存Process.Start()对象,然后根据需要检查HasExited属性或订阅Exited事件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12273825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档