【发布时间】:2015-10-08 09:59:26
【问题描述】:
基于此https://msdn.microsoft.com/en-us/library/53ezey2s(v=vs.110).aspx
Process.Start() 没用。
Start 可能会返回一个带有其 HasExited 属性的非空进程 已经设置为真。在这种情况下,启动的进程可能有 激活其自身的现有实例,然后退出。
在我的例子中,我想在新实例中为 xml 启动一个默认编辑器,以便我可以使用 Process.HasExited 属性对我的 WPF 应用程序执行操作。我所看到的只是本地样本或比想象的复杂得多。什么是最好的解决方案?
Process process = Process.Start(MyFileXMlPath);
//Wait for the Editor to be closed.
if (process != null)
while (!process.HasExited) ;
这就是我现在所拥有的。这样我就可以使用用户的首选编辑器了。
【问题讨论】:
-
你能解释一下现在发生了什么吗?它是否有效?您是否只是担心警告,或者您有时会通过
HasExited属性获得一个进程到true? -
它总是在一个正在运行的进程窗口中打开 XML。进程句柄也为空,我的应用程序不会等待用户完成并关闭窗口以对新的 xml 文件执行操作。所以如果我让 Process.Start(MyFileXMLPath) 总是启动一个新实例,所有问题都解决了。