如何在没有闪烁的情况下启动自定义大小的控制台?

时间:2012-05-31 20:22:18

标签: c++ windows console mingw

我知道这种设置控制台大小的方法:

system("mode 128,128");

但是当程序启动时,系统首先尝试创建具有标准大小的控制台,并且当执行到达模式命令时 - 只有控制台窗口才能获得所需的大小。问题是如何根据我的需要从一开始就制作控制台。

我在这里讲的是从资源管理器中双击运行程序,因此控制台属于该程序。

1 个答案:

答案 0 :(得分:1)

您可能有更多的运气将您的程序链接为GUI应用程序而不是命令行,调用AllocConsole()来创建控制台,然后SetConsoleWindowInfo()来调整它的大小。在调整大小之前,控制台仍然会被创建,但由于您直接使用API​​调用,因此延迟可能会小到不明显。

如果这样做,您可能需要进行一些设置以将C和C ++标准输入/输出/错误连接到您创建的控制台。为此,请查看_fdopen()ios_base::sync_with_stdio()