1
我想從我的Windows窗體應用程序中打開控制檯應用程序。我已經使用了下面的代碼。代碼打開控制檯應用程序,但不顯示任何內容(僅顯示黑屏)。但是我能夠使用StandardOutput獲得控制檯輸出。在win窗體中使用C#代碼打開控制檯應用程序
Process proc = new Process();
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.FileName = @"C:\Program Filex86)\ConsoleTool.exe";
proc.Start();
StreamWriter sw = proc.StandardInput;
sw.WriteLine("init");
txtOutput.Text += proc.StandardOutput.ReadToEnd().Replace("\n", "\r\n");
txtOutput.Text += proc.StandardError.ReadToEnd().Replace("\n", "\r\n");
proc.WaitForExit();
如何獲取在使用代碼打開的控制檯窗口上的顯示?
請檢查您的路徑。它有一個''''。這可能是您獲得黑屏的原因!!!!! 1 –
您正在重定向[StandardOutput](https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput( v = vs.110).aspx),所以它不會在控制檯窗口中顯示任何信息。您將需要手動自己做,請參閱http://stackoverflow.com/q/8787123/479512和http://stackoverflow.com/questions/2547428/net-console-textwriter-that-understands-indent-unindent- indentlevel –
@ Mark有沒有什麼方法可以在控制檯上顯示並在我的win表單應用程序中獲取這些數據? –