在应用程序启动时设置控制台窗口特定大小

时间:2016-03-05 04:21:36

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

我正在使用Windows 10,并且在visual studio 2015中创建了控制台。 它只是作为c plus plus中的win32控制台应用程序创建的。

我用c ++为控制台应用程序创建了一个videoMemory模拟器。

class VideoSim
{
private:
char video[MAX_ROWS * MAX_COLS]; // row is 29, columns  is 80
int currentRow;
int currentColumn;

我在控制台窗口中显示一个内存块,显示29行和80列,包含2,320个可以打印的不同位置。这个应用程序会问我一个问题,在我的答案旁边创建一个小图片。

当我运行此应用程序时,我的控制台窗口会进一步延伸80列。如何将其默认为控制台处于设定的大小,因此我看到的空间在技术上只能写入。

我不熟悉任何控制台特定的功能,如果有人可以指出我正确的方向。

就打印到我的视频SIM卡而言,我设置了光标位置

void VideoSim::SetCursorPosition(int r, int c)
{
    if (c > MAX_COLS || r > MAX_ROWS)
{
    printf("OUTSIDE OF RANGE                  --\n");
    printf("Max column = 40, Max row = 10     --\n\n");
}
currentColumn = c;
currentRow = r;
}

然后我在该位置打印,因此始终保持在虚拟视频内存范围内。

2 个答案:

答案 0 :(得分:1)

你实际上是以错误的方式去做。

虽然您的应用程序在技术上可以修改控制台,但它不应该。 这样做是用户的特权。所以......作为用户,你应该:

创建一个使用所需控制台启动程序的快捷方式。

这实际上相当容易。右键单击您的应用并修改启动参数,包括控制台大小,如果您愿意,还可以修改位置。

此后,将触发应用程序的所有内容链接到快捷方式,这将设置您的控制台窗口并启动您的应用程序。

希望这有帮助。

答案 1 :(得分:0)

您可以使用Window的控制台窗口API来调整窗口大小,但最简单的方法是使用带有system命令的C ++库mode con ...调用。