检查进程.启动终止

  • 本文关键字:终止 启动 进程 c# wpf
  • 更新时间 :
  • 英文 :


因此,对于我最近的项目,我需要将控制台应用生成的内容放在 WPF 文本框中。关键是应用程序仅在流程完成后生成文本文件(test.txt)这可能需要一些时间。

这是相同的代码:

foreach (var website in lst) //list can have several entries.
            {
                var args = "-v -all -text test.txt n" + website.ToString() + " 443";
                Process.Start(@"C:TestSSLServer.exe", args);
                Task.Factory.StartNew(() =>
                {
                    MyValue = System.IO.File.ReadAllText(@"C:test.txt");
                });
            }

如何确保仅在控制台应用退出时填充文本框TestSSLServer

编辑:Process.WaitForExit();不起作用。我试过了:(仍然抛出文件未找到异常。

谢谢。

您可以使用

Process.WaitForExit()阻止,直到进程退出。

Process p = Process.Start(@"C:TestSSLServer.exe", args);
p.WaitForExit();

我会注意到这将阻止它运行的任何线程。 如果您希望在进程退出时收到通知,请使用 Process.Exited 事件。

您需要将流程存储在 Process 类型的变量中。然后,您可以将其 EnableRaisingEvents 标志设置为 true,并订阅进程已结束的事件信号。您的处理程序应该是填充文本框的函数。

示例代码可在 MSDN 上找到。https://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited(v=vs.110).aspx

最新更新