Windows 窗体应用程序中的控制台输出
Console output in WindowsForms application
我正在尝试开发一个 windows 应用程序来显示控制台 window 作为输出。
如果我将属性中的输出类型更改为 "console Application" 控制台 window 和表单显示。但我只需要先显示表单 window,当我单击一个按钮时,只有控制台 window 需要显示输出值。
请指导我...
提前致谢。
使用 NativeMethods.AllocConsole();
分配控制台并 I/O 使用它。
使用 NativeMethods.FreeConsole();
关闭并释放此控制台。
每个进程最多只能关联一个控制台。您可以采取多种方式:要么在启动时立即隐藏控制台 window 并稍后显示(通过 ShowWindow), or you leave the project as a window application, and create the console manually using AllocConsole 稍后显示。
如果您想要多个控制台,例如,您可以使用 AttachConsole 创建一个虚拟进程 (cmd
) 并将您的进程附加到它的控制台。托管方式是使用远程处理或其他技术与虚拟进程通信(使用您自己的实现),并通过它打印文本。
您想在表单中输出 Windows 表单应用程序的 Console.WriteLines 吗?
在这种情况下,只需使用 Console.SetOut(Stream) 并传入您正在包装的内容,以便您也可以将其输出到其他地方。
另一种选择是将所有 Console.WriteLines 切换为 Trace.WriteLine 并在某处添加一个 TraceListener 来执行您想要的操作。
我正在尝试开发一个 windows 应用程序来显示控制台 window 作为输出。
如果我将属性中的输出类型更改为 "console Application" 控制台 window 和表单显示。但我只需要先显示表单 window,当我单击一个按钮时,只有控制台 window 需要显示输出值。
请指导我...
提前致谢。
使用 NativeMethods.AllocConsole();
分配控制台并 I/O 使用它。
使用 NativeMethods.FreeConsole();
关闭并释放此控制台。
每个进程最多只能关联一个控制台。您可以采取多种方式:要么在启动时立即隐藏控制台 window 并稍后显示(通过 ShowWindow), or you leave the project as a window application, and create the console manually using AllocConsole 稍后显示。
如果您想要多个控制台,例如,您可以使用 AttachConsole 创建一个虚拟进程 (cmd
) 并将您的进程附加到它的控制台。托管方式是使用远程处理或其他技术与虚拟进程通信(使用您自己的实现),并通过它打印文本。
您想在表单中输出 Windows 表单应用程序的 Console.WriteLines 吗?
在这种情况下,只需使用 Console.SetOut(Stream) 并传入您正在包装的内容,以便您也可以将其输出到其他地方。
另一种选择是将所有 Console.WriteLines 切换为 Trace.WriteLine 并在某处添加一个 TraceListener 来执行您想要的操作。