我正在尝试开发一个Windows应用程序来显示控制台窗口作为输出。
如果我将属性中的输出类型更改为“控制台应用程序”,则控制台窗口和窗体都会显示。但是我需要先显示表单窗口,当我单击一个按钮时,只有控制台窗口需要显示输出值。
请指导我......
提前致谢。
答案 0 :(得分:0)
使用NativeMethods.AllocConsole();
为其分配控制台和I / O.
使用NativeMethods.FreeConsole();
关闭并释放此控制台。
答案 1 :(得分:0)
每个进程最多只能有一个与之关联的控制台。您可以采用以下几种方法:要么在启动时立即隐藏控制台窗口并稍后显示(通过 ShowWindow ),要么将项目保留为窗口应用程序,并创建稍后使用 AllocConsole 手动控制台。
如果你想要多个控制台,你可以例如创建一个虚拟进程(cmd
)并使用 AttachConsole 将您的进程附加到其控制台。管理的方式是使用远程处理或其他技术与虚拟进程(使用您自己的实现)进行通信,并通过它来打印文本。
答案 2 :(得分:0)
您想在表单中输出Windows窗体应用程序的Console.WriteLines吗?
在这种情况下,只需使用Console.SetOut(Stream)并传入您正在包装的内容,这样您也可以将其输出到其他地方。
另一个选择是将所有Console.WriteLines切换到Trace.WriteLine并在某个地方添加一个TraceListener来实现你想要的。