C#启动命令行进程,重定向标准输出流、標準輸入流和标准错误流

来源:互联网 发布:淘宝男装潮流店铺 编辑:程序博客网 时间:2024/05/22 23:59

在命令行可使用的命令,可以使用C#代码启动,并可以重定向该命令执行所得的标准输出流、標準輸入流和标准錯誤流。

具體類似代碼如下:

 private List<string> GetP4CommandLineStandardOutput(string strArgs, IP4StandardOutputReceiver outputReciever){ProcessStartInfo procInfo = new ProcessStartInfo(processName);procInfo.Arguments = arguments;procInfo.CreateNoWindow = true;procInfo.RedirectStandardOutput = true;procInfo.RedirectStandardInput = true;procInfo.UseShellExecute = false;p4ProcInfo.RedirectStandardError = true;Process p4P = Process.Start(p4ProcInfo);string strLine;StreamWriter wrt = p4P.StandardInput;wrt.WriteLine(inputArguments);StreamReader reader = p4P.StandardOutput;StreamReader errorReader = p4P.StandardError;while (!reader.EndOfStream){strLine = reader.ReadLine();outputReciever.P4StandardOutPutRedirect(strLine);listStrStandardOuput.Add(strLine);}while (!errorReader.EndOfStream){strLine = errorReader.ReadLine();outputReciever.P4StandardErrorRedirect("Error: " + strLine);}p4P.WaitForExit();p4P.Close();return listStrStandardOuput;}

這裡自己定義了一個接口,用於異步更新UI主介面,把信息及時反饋與主介面。注意的是這裡procInfo裏面的一些bool值需要設置成true。StreamWriter是添加上去的示例代碼,爲了演示標準輸入重定向的方式。