Как дождаться завершения консольного процесса ДО запуска другого консольного процесса в wpf-приложениях?

У меня есть 2 внешних процесса для запуска (2 консоли EXE), которые обеспечивают вывод на консоль. Я запускаю эти приложения в приложении wpf. Я фиксирую вывод консоли и использую его как ввод.

вот как я делаю 1. запустить первый процесс. захватить вывод консоли. 2. сделать некоторую работу, используя первый вывод процесса. 3. Запустите второй процесс после того, как у меня будет вывод работы.

проблема, с которой я столкнулся, заключается в том, что мне нужно дождаться завершения другого процесса и использовать его вывод, прежде чем я смогу запустить другой процесс. К тому времени, когда я хочу запустить второй процесс, первый процесс еще не завершен.

public MainWindow()
{
    InitializeComponent();
    ExtProcess1();
    ExtProcess2();  //this is executed before ExtProcess1 OutputDataReceived is completely captured
    Instance = this;
}

public static void ExtProcess1()
{
    Process process = new Process();
    process.EnableRaisingEvents = true;
    process.OutputDataReceived += new DataReceivedEventHandler(process_OutputDataReceived);
    process.Exited += new EventHandler(process_Exited);
    process.StartInfo.FileName = "test.exe";
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.CreateNoWindow = true;
    process.Start();
    process.PriorityClass = ProcessPriorityClass.RealTime;
    process.BeginOutputReadLine();
    process.WaitForExit();
}

static void process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
    if (MainWindow.Instance.lbLog.Dispatcher.Thread == Thread.CurrentThread)
    {
        String s = (String)e.Data;
        MainWindow.Instance.lbLog.Items.Add(s);
    }
    else
    {
        MainWindow.Instance.lbLog.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Send,
            new EventHandler<DataReceivedEventArgs>(corePingPid_OutputDataReceived), sender, new object[] { e });
    }
}

Как заставить приложение wpf ждать первого процесса ДО запуска второго процесса?

Ответы на вопрос(1)

Ваш ответ на вопрос