如何在WPF应用程序中动态打开/关闭控制台窗口?

20

我正在制作一个WPF应用程序,并希望发布应用程序的beta版本,为此我添加了一个名为“debug”的Button,它将基本上显示/隐藏控制台窗口。 每次事件发生时,我都会在控制台上写适当的信息,这将帮助用户通过查看控制台上的消息报告他们遇到的问题。

抱歉背景故事可能不是很有用。 我需要知道如何在C#中动态地显示/隐藏控制台窗口。


1
你是否考虑过使用像log4net这样的“真正”的日志记录器,而不是控制台输出?http://logging.apache.org/log4net/ - Tim S.
是的,但对于我的需求水平来说,我对控制台输出感到舒适。 - rajat
为什么不直接打开一个 WPF 窗口,显示你想要展示的调试信息呢?你可以在关闭时清除它,并在窗口打开时写入信息。 - Mare Infinitus
1个回答

37

你觉得现在我理解了问题吗?

[DllImport("Kernel32")]
public static extern void AllocConsole();

[DllImport("Kernel32")]
public static extern void FreeConsole();


private void button1_Click(object sender, EventArgs e)
{
    AllocConsole();
    Console.WriteLine("test");
}

是的,你击中了要害。 - rajat
有没有办法让关闭控制台窗口只关闭控制台窗口而不是整个应用程序? - zenonet
@zenonet 只需调用FreeConsole()。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接