[英]Opening console app using C# code in win forms
我正在尝试从我的 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();
如何在使用代码打开的控制台窗口上显示?
使用AllocConsole
函数打开控制台窗口,然后正常使用Console.WriteLine
或其他控制台函数!
例子:
[System.Runtime.InteropServices.DllImport("kernel32")]
extern static void AllocConsole();
//....
AllocConsole();
Console.WriteLine("hello world");
Console.ReadKey();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.