如何从Process读取输出消息

时间:2013-12-18 14:57:49

标签: c# .net xaml process

我有一个调用exe文件的C#应用​​程序。在我用来调用进程的代码下面:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = "ContasillabeGame";
proc.StartInfo.Arguments = numeroSillabe + " " + numeroToken;
proc.OutputDataReceived += new DataReceivedEventHandler(OutputToTextArea);
proc.Start();
// Start the asynchronous read of the sort output stream.
proc.WaitForExit();

这里是用于从流程中检索数据的方法。

private void OutputToTextArea(object sendingProcess, DataReceivedEventArgs outLine)
{
    // Collect the sort command output. 
    if (!String.IsNullOrEmpty(outLine.Data))
    {
        System.Console.WriteLine(outLine.Data);
    }
}

使用此代码我启动应用ContasillabeGame但我没有该应用程序的任何结果。为什么?对于来自ContasillabeGame的发送消息,我使用此代码

发送消息的示例代码:

System.Console.WriteLine("pippo");

1 个答案:

答案 0 :(得分:0)

在开始此过程之前,您应将proc.StartInfo.RedirectStandardOutput设置为true,并在致电proc.BeginOutputReadLine();后致电Start()