如何调整控制台窗口大小并移动它以填满屏幕

问题描述 投票:0回答:1

我在 Visual Studio 2017 中使用 C++,并在控制台窗口中制作基于文本的游戏。

当我运行程序并打开控制台窗口时,我希望它自动进入全屏模式。

这是我当前的尝试,它调整了控制台窗口的大小,但它不会移动以填充屏幕并超出边缘

#include <Windows.h>

int main()
{
    HWND window = GetDesktopWindow();
    HWND console = GetConsoleWindow();
    RECT r;

    if (GetWindowRect(window, &r))
    {
    int width = r.right - r.left;
    int height = r.bottom - r.top;
    MoveWindow(console, 0, 0, width, height, TRUE);
    }
}

当我运行它时,控制台窗口会像平常一样打开到屏幕上的随机位置,但随后它会增长到全屏大小,但左上角不会移动。

When I run the program

c++ winapi console-application window-resize
1个回答
0
投票

这是您要找的吗?

#include <Windows.h>

int main()
{
    HWND console = GetConsoleWindow();
    RECT r;

    if (GetWindowRect(GetDesktopWindow(), &r))
    {           
        SendMessage(console, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
    }
}

甚至:

#include <Windows.h>

int main()
{
    SendMessage(GetConsoleWindow(), WM_SYSCOMMAND, SC_MAXIMIZE, 0);
}

但我确信您需要各种手柄等以供将来使用。

© www.soinside.com 2019 - 2024. All rights reserved.