2012-02-24 60 views
0

我正在写一个C#程序来与perl脚本进行接口。该脚本执行rtmpdump,当它真正开始显示进度时,它给我一个错误,系统找不到指定的文件。Win32 GetConsoleScreenBufferInfo失败。控制台和行变量未设置。如何重定向perl输出在c#

这里是我的代码,我使用执行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调用没有wo rk COLUMNS和LINES环境变量不起作用调整大小程序 不起作用在C:/ strawberry/perl/vendor/lib/Term/ReadKey.pm行373.

回答

2

它看起来像你想运行Perl脚本预计在终端内执行,因此不能试图获取终端的设置后...