Redirect process output C#

前端 未结 2 1266
一个人的身影
一个人的身影 2020-12-01 23:56

I would like to redirect the Process\'s standard output to a string for later parsing. I would also like to see the output on the screen, while the process is running, and n

2条回答
  •  情歌与酒
    2020-12-02 00:44

    If you want to execute an exe from your c# application and get the output from it then you can use the below code

    System.Diagnostics.Process p = new System.Diagnostics.Process();            
    
    p.StartInfo.FileName = "PATH TO YOUR FILE";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.Arguments = metalType + " " + graphHeight + " " + graphWidth;
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.RedirectStandardError = true;              
    
    p.EnableRaisingEvents = true;
    p.Start();            
    svgText = p.StandardOutput.ReadToEnd();
    
    using(StreamReader s = p.StandardError)
    {
        string error = s.ReadToEnd();
        p.WaitForExit(20000);
    }
    

    Don't forgete to write p.EnableRaisingEvents = true;

提交回复
热议问题