【发布时间】:2016-04-19 06:18:06
【问题描述】:
我正在尝试从我的 Windows 窗体应用程序中打开控制台应用程序。我使用了下面的代码。该代码正在打开控制台应用程序,但不显示任何内容(仅显示黑屏)。但我可以使用 StandardOutput 成功获得控制台输出。
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,因此它永远不会在控制台窗口中显示任何信息。您需要自己手动完成,请参阅 stackoverflow.com/q/8787123/479512 和 stackoverflow.com/questions/2547428/…
-
@Mark 有没有办法在控制台上显示并在我的 win 表单应用程序中获取该数据?
-
您已将控制台与所有输入和输出断开连接,我无法将信息重新输入其中,您需要按照 Han 在第二个链接中接受的答案中的建议进行操作.
标签: c#