【发布时间】:2012-02-25 01:55:58
【问题描述】:
我正在编写一个 C# 程序来与 perl 脚本交互。该脚本执行 rtmpdump,当它真正开始显示进度时,它给我一个错误,系统找不到指定的文件。Win32 GetConsoleScreenBufferInfo 失败。未设置控制台和行变量。
这是我用来执行 perl 脚本的代码:
ProcessStartInfo prc = new ProcessStartInfo("perl", "script");
prc.UseShellExecute = false;
prc.RedirectStandardOutput = true;
Process process = new Process();
process.StartInfo = prc;
process.Start();
process.WaitForExit();
Console.WriteLine("DONE!");
sb = new StringBuilder("");
process.OutputDataReceived +=new DataReceivedEventHandler(linkHandler);
Console.WriteLine(sb);
private static void linkHandler(object sendingProcess, DataReceivedEventArgs outline)
{
if (!String.IsNullOrEmpty(outline.Data)){
sb.Append(Environment.NewLine + outline.Data);
}
}
这是我得到的错误.. : (
系统找不到指定的路径。 无法获取终端大小。 Win32 GetConsoleScreenBufferInfo 调用不成功 港湾COLUMNS 和 LINES 环境变量不起作用。调整大小程序 没用。在 C:/strawberry/perl/vendor/lib/Term/ReadKey.pm 第 373 行。
【问题讨论】: