AllocConsole 重定向控制台使用
在软件开发的过程中,我们有时候可能需要日志和输出帮助我们进行 Debug 和 Review,尤其是 .NET C# 开发中,我们调试经常需要输出各种信息,当我们使用 IDE 为 Visual Studio 的时候,VS 自带的输出没有我们自己开一个控制台那般阅读方便,所以我们可以使用 AllocConsole 重定向控制台。
1 . 引用
1 | public class ConsoleWindow |
我们需要引用 Kernel32.dll 这个动态链接库文件中包含了 Windows 常见的内存管理、数据的输入输出操作和中断处理
2 . 启动
我们以 WPF 为例,我们可以重写App级的视图类来达到启动 WPF 程序的时候自动打开AllocConsole控制台。
1 | protected override void OnStartup(StartupEventArgs e) |
我们可以重写 OnStartup 方法,达到启动 WPF 程序的时候自动启动一个AllocConsole,这里我们用了一个 #if DEBUG,代表只在 Debug 调试模式下启动
3 . 设置程序输出类型

设置自己程序的 输出类型 — 控制台应用程序
4 . 输出
1 | Console.WriteLine() |
使用控制台输出命令输出需要调试的日志和状态了,当然这里只是列举了输出,一切关于控制台的控制在引用AllocConsole以后都会表现出来。
AllocConsole 控制台在应用程序退出的时候将会自动结束,当然你也可以调用 Close() 方法在任意时间结束。