2012-02-24 62 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腳本預計在終端內執行,因此不能試圖獲取終端的設置後...