ProcessStartInfo.UseShellExecute = true并等待进程退出

时间:2010-08-31 12:17:19

标签: c# .net shellexecute

我想使用shell可执行文件来尊重启动应用程序的用户首选项,但我还需要知道该特定应用程序何时关闭。

Process editProcess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = filename;
startInfo.Verb = "edit";
startInfo.UseShellExecute = true;
editProcess.StartInfo = startInfo;

// start the default editor
editProcess.Start();
editProcess.WaitForExit();

WaitForExit似乎在shell进程退出时返回,而不是在实际进程退出时返回。

有没有更好的方法知道何时启动应用程序退出而不是手动解析注册表,找到正确的应用程序启动并显式启动该应用程序而不执行shell?

1 个答案:

答案 0 :(得分:1)

处理退出事件的过程:

editProcess.Exited += process_Exited;