C# 读取进程输出

                var args = argsBuild.ToString();
                var ffmpegProcess = new Process();
                ffmpegProcess.StartInfo.FileName = Cmd;
                ffmpegProcess.StartInfo.Arguments = args;

                // 禁用操作系统外壳程序,异步时需做这些配置
                ffmpegProcess.StartInfo.UseShellExecute = false;
                ffmpegProcess.StartInfo.CreateNoWindow = true;
                ffmpegProcess.StartInfo.RedirectStandardOutput = true;
                ffmpegProcess.StartInfo.RedirectStandardError = true;
                ffmpegProcess.Start();
            // 异步获取命令行内容  
                ffmpegProcess.BeginOutputReadLine();
                ffmpegProcess.BeginErrorReadLine();
                // 为异步获取订阅事件
                ffmpegProcess.ErrorDataReceived += FfmpegProcess_ErrorDataReceived;
                //为异步获取订阅事件
                ffmpegProcess.OutputDataReceived += FfmpegProcess_OutputDataReceived;

                void FfmpegProcess_ErrorDataReceived(object sender, DataReceivedEventArgs e)
                {
                  //每次输出都会触发
                }
               void FfmpegProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)
                {
                    //输出完毕时触发
 
                }
作者: jamesbing
提示: 欢迎转载,但是必须保留本文的署名 jamesbing (包含链接)
原文地址:https://www.cnblogs.com/gaobing/p/15066895.html