0
I'm使用這樣過程 - 等到it's超過
System.Diagnostics.Process prc1 = new System.Diagnostics.Process();
prc1.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
prc1.StartInfo.FileName = "C:\\WINDOWS\\system32\\cmd.exe";
prc1.StartInfo.Arguments = @"/c C:\app.exe -f C:\appConfigs.cfg ";
prc1.Start();
prc1.CloseMainWindow();
過程因此,這將打開一個MSDOS窗口,它會保持打開狀態,直到「任務」真是完了,
到目前爲止這麼好,但如果我想要,在這段代碼之後,讓我們說給用戶發出一條信息,說「工作已完成」,是否有辦法知道它何時完成? (當DOS窗口關閉?)
我可以用一個計時器,但它需要的時間取決於信息,我需要處理量。
過程有一個[退出的事件(http://msdn.microsoft.com/en-us/:如果你想要做的一切都顯示一個消息,你可以在一行像這樣指定它庫/ system.diagnostics.process.exited(v = vs.110)的.aspx),您可以掛接到: – StuartLC 2014-10-28 15:36:27
[Process.WaitForExit方法](http://msdn.microsoft.com/en-us/library/system .diagnostics.process.waitforexit(v = vs.110)的.aspx)做這 – MethodMan 2014-10-28 15:37:02
嗯一些閱讀/研究,你要等到過程結束(防止任何更多的代碼執行,直到進程終止?)像您的標題暗示(在這種情況下請遵循DJ KRAZE的建議),還是您希望您的應用程序繼續運行,但在流程終止時採取一些措施? – 2014-10-28 15:41:52