首页 > 解决方案 > SetConsoleWindowInfo 函数不断返回 false

问题描述

我试图让自己成为一个轻量级的控制台图形引擎,作为学习语言的一部分,我在尝试调整控制台窗口大小时遇到​​了这个错误。这是我的代码。

    Sc_Buffer = new CHAR_INFO[Sc_Width * Sc_Height];

    _ConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);

    if (_ConsoleOut == INVALID_HANDLE_VALUE)
    {
        MessageBox(NULL, TEXT("Invalid Output Handle."), TEXT("Error"), MB_OK);
        return FALSE;
    }
    else if (!SetConsoleActiveScreenBuffer(_ConsoleOut))
    {
        MessageBox(NULL, TEXT("Unable to Initialize screen buffer."), TEXT("Error"), MB_OK);
        return FALSE;
    }
    else if (!SetConsoleWindowInfo(_ConsoleOut, TRUE, &Sc_Range))
    {
        MessageBox(NULL, TEXT("Unable to set screen resolution."), TEXT("Error"), MB_OK);
        return FALSE;
    }

调整控制台大小的最后一个“if”语句一直返回 false,我似乎找不到原因。

请帮忙。提前致谢。

此致!

标签: c++console-application

解决方案


推荐阅读