我可以阻止我的程序的用户调整控制台窗口的大小吗?(C)中

我可以阻止我的程序的用户调整控制台窗口的大小吗?(C)中,c,windows,console,resize,window,C,Windows,Console,Resize,Window,所以我一直在搜索(很多),但没有找到任何关于如何防止用户调整程序控制台窗口大小的信息。我找到了语言C++和C的信息,但没有找到C的信息。我已经设法设置了控制台的大小,但是如果用户在之后更改它,这对我的程序的外观是不好的。我能做些什么来完美地调整控制台的大小并保持这种状态呢?好的,所以我成功地结合了代码。 首先,你需要一个 #define _WIN32_WINNT 0x0500 然后(顺序很重要) 通过使用和在调用中设置事件挂钩来捕获事件,以立即恢复所需的大小 您还可以使用将窗口缓冲区设置为可见

所以我一直在搜索(很多),但没有找到任何关于如何防止用户调整程序控制台窗口大小的信息。我找到了语言
C++
C
的信息,但没有找到
C
的信息。我已经设法设置了控制台的大小,但是如果用户在之后更改它,这对我的程序的外观是不好的。我能做些什么来完美地调整控制台的大小并保持这种状态呢?

好的,所以我成功地结合了代码。 首先,你需要一个

#define _WIN32_WINNT 0x0500
然后(顺序很重要)

通过使用和在调用中设置事件挂钩来捕获事件,以立即恢复所需的大小


您还可以使用将窗口缓冲区设置为可见窗口的精确尺寸,因为不可能使可见窗口大于缓冲区大小。但是,这不会阻止窗口变小

你在用哪个操作系统?我在用Windows,是的,谢谢你问我忘记把它放在那里。很多Windows API函数都可以从C调用,即使在MS文档标签C++中。你可以在程序中包括Windows .h头文件,然后寻找一个能使程序窗口大小固定的函数。用C。比我的建议好多了!不过,我会坚持我的答案,因为控制台WinEvents还可以做其他有用的事情。
#include <windows.h>
HWND consoleWindow = GetConsoleWindow();
SetWindowLong(consoleWindow, GWL_STYLE, GetWindowLong(consoleWindow, GWL_STYLE) & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX);