c# 调用控制台程序并传参 获取控制台输出(解释器的前台处理)
时间:2011-01-19 来源:newShit
调用C0解释器进行错误检查,显示错误的内容:
//比如说调用一个 “C0解释器.exe”的控制台应用程序来处理数据 并获取处理的结果
System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo = new System.Diagnostics.ProcessStartInfo(); p.StartInfo.FileName = "C0解释器.exe"; p.StartInfo.Arguments = FilePath+" "+"check";//"C0解释器.exe"的相对路径 空格分隔各个参数 这里有两个参数。 p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = true;//让窗体不显示 p.Start();
System.IO.StreamReader reader = p.StandardOutput;//截取输出流
string line = reader.ReadLine();//每次读取一行
textBox1.Text = p.StandardOutput.ReadToEnd();//获得的结果显示在listbox1中
如果控制台程序是C++在主main函数中获得的第一个参数是控制台文程序的路径,所以应该从第二个参数作处理
如果控制台程序是C# 在主main函数中第一个参数就是所要传送的第一个参数“check”
调用C0解释器进行解释执行(显示控制台界面):
代码
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = new System.Diagnostics.ProcessStartInfo();
p.StartInfo.FileName = "C0解释器.exe";
p.StartInfo.Arguments = FilePath + " " + "run";//参数是run
p.Start();
相关阅读 更多 +