基於此https://msdn.microsoft.com/en-us/library/53ezey2s(v=vs.110).aspx Process.Start()
沒有用。如何總是在C#中運行新進程的實例?
開始可能會返回一個非空進程,其HasExited屬性 已設置爲true。在這種情況下,啓動的進程可能會激活 自身的現有實例,然後退出。
在我的情況下,我想在新實例中啓動一個xml的默認編輯器,以便我可以使用Process.HasExited屬性對我的WPF應用程序執行操作。我所看到的只是原生樣本或複雜的想法。什麼是最好的解決方案?
Process process = Process.Start(MyFileXMlPath);
//Wait for the Editor to be closed.
if (process != null)
while (!process.HasExited) ;
這就是我現在擁有的。所以我使用用戶的首選編輯器。
你能解釋一下現在發生了什麼嗎?它工作與否?你只是擔心這個警告,或者你有時會用'HasExited'屬性來處理'true'? – KOTIX
它總是在正在運行的進程窗口之一中打開XML。此外,進程句柄爲空,我的應用程序不會等待用戶完成並關閉窗口以對該新的xml文件執行操作。所以,如果我讓Process.Start(MyFileXMLPath)始終啓動一個新實例,所有問題都解決了。 – anotheruser