在C#中暂停主进程

1 c# process

我正在用C#开发一个应用程序.作为错误条件的一部分,我想在记事本中调出一个文件供用户编辑(同时暂停主进程).我可以使用Process.Start来启动文件.我无法弄清楚的是如何在用户保存或退出记事本文件之前暂停主应用程序.除了Process.start之外,我还可以使用它来启动主进程中的Notepad.exe或其他一些我可以使用的技巧.我觉得有一个简单的解决方案我可以忽略它.提前致谢.

Ree*_*sey 5

您可以使用Process.WaitForExit来阻止主程序,直到记事本关闭.

使其阻塞直到文件被保存或关闭会有点棘手.

这里的一个选择是拥有一个ManualResetEvent,并等待它.然后,您可以侦听Process.Exited(在设置Process.EnableRaisingEvents之后),并使用它来调用等待句柄上的Set().这将处理允许您的代码在进程退出时继续.

为了处理正在保存的文件,单独的FileSystemWatcher可以监视文件本身的保存(文件更改).如果文件保存/更改,您可以通过调用Set()继续.