小编bet*_*zan的帖子

如何异步重定向标准错误流而不是C#,.net中进程的标准输出流

我在C#中编写一个应用程序,在某些时候使用带有异步IO重定向的Process类将应用程序作为子进程启动,如下所示:

private void AppLaunch_Click(object sender, RoutedEventArgs e)
{

  Process appProcess = new Process();
  appProcess.StartInfo.FileName = currAppPath;
  appProcess.StartInfo.Arguments = "";

  //Setup Redirection
  appProcess.StartInfo.UseShellExecute = false;
  appProcess.StartInfo.ErrorDialog = false;
  appProcess.StartInfo.RedirectStandardError = true;
  appProcess.EnableRaisingEvents = true;
  // Attach Output Handler
  appProcess.ErrorDataReceived += appProc_DataReceived;
  appProcess.Exited += appProc_Exited;
  buildLogConsoleOutputTxtbox.AppendText(currAppPath + "\n");

  appProcess.Start();
  appProcess.BeginErrorReadLine();

}
private void appProc_DataReceived(object sender, DataReceivedEventArgs e)
{
  if (!String.IsNullOrEmpty(e.Data))
  {
    this.appendLogText(e.Data);
  }
}

private void appProc_Exited(object sender, System.EventArgs e)
{
  Process proc = (Process)sender;
  // Wait a short while …
Run Code Online (Sandbox Code Playgroud)

.net c# io process io-redirection

8
推荐指数
1
解决办法
709
查看次数

标签 统计

.net ×1

c# ×1

io ×1

io-redirection ×1

process ×1