繁体   English   中英

在 win 表单中使用 C# 代码打开控制台应用程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM