【问题标题】:ProcessStartInfo.UseShellExecute = true and waiting for process exitProcessStartInfo.UseShellExecute = true 并等待进程退出
【发布时间】:2011-06-02 07:17:34
【问题描述】:

我想使用 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 的情况下显式启动该应用程序更好的方法来了解启动的应用程序何时退出?

【问题讨论】:

标签: c# .net shellexecute


【解决方案1】:

处理进程退出事件:

editProcess.Exited += process_Exited;

【讨论】:

  • 我也试过了,但它的行为方式与我们不希望的方式相同,即在 shell 进程时触发?退出并且启动的应用程序仍在运行..
猜你喜欢
  • 2013-07-27
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多