单个应用程序C ++的多个控制台

时间:2013-12-30 20:59:37

标签: c++ windows console-application windows-console

是否可以创建两个控制台窗口(一个是主窗口),辅助窗口是一个弹出窗口,就像Windows窗体中的消息框一样?

我只希望辅助控制台窗口保存ID(将硬编码到应用程序中)因此用户无需继续返回主菜单来检查可用ID

如果是这样你会怎么做呢?

非常感谢

3 个答案:

答案 0 :(得分:14)

是的,你可以做到。

解决方案实际上非常简单 - 我们的进程可以启动一个新的helper子进程,因此帮助进程将显示我们的进程发送它的任何内容。我们可以使用管道轻松实现这样的解决方案:对于每个新的console(我将称之为记录器),我们将打开一个管道,并执行Console-Helper应用程序 - 此应用程序的角色是很简单,它会打印通过管道发送的所有东西。有关详细信息,请查看此文章Multiple consoles for a single application(包含源代码)。

在代码中,它实现了一个控制台类CConsoleLogger,然后您可以创建多个控制台窗口,如:

CConsoleLogger another_console;
another_console.Create("This is the first console");
another_console.printf("WOW !!! COOLL !!! another console ???");

你会得到类似的东西:

enter image description here

答案 1 :(得分:1)

有关创建控制台窗口的说明,请查看http://msdn.microsoft.com/en-us/library/windows/desktop/ms682528(v=vs.85).aspx

答案 2 :(得分:-1)

Nop

一个进程只能与一个控制台关联。

AllocConsole