我正在使用这样的流程
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窗口关闭时?)
我可以使用计时器,但所需的时间取决于我需要处理的信息量。
答案 0 :(得分:1)
订阅Exited
活动。如果您只想显示一条消息,则可以在一行中指定它:
prc1.Exited += (s, a) => MessageBox.Show("Job Finished");