c语言控制台大小最大化 并且不能改变控制台大小,C语言 怎么使控制台窗口大小固定不变?...

我曾经遇到同样的问题,在网上找不到有效具体的解决方案,后来去WSDN看了具体的文档发现一个解决方案,发到这里给遇到同样问题的人,希望能对大家有所帮助。

可以使用SetWindowLongPtrA()函数修改窗口样式:#include 

SetWindowLongPtrA(

GetConsoleWindow(),

GWL_STYLE,

GetWindowLongPtrA(GetConsoleWindow(),GWL_STYLE)

& ~WS_SIZEBOX & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX

);

第一个参数获取了控制台窗口句柄

第二个参数指定修改所获得的窗口的窗口样式

第三个参数代表所想应用的窗口的具体样式,先用GetWindowLongPtrA(GetConsoleWindow(), GWL_STYLE)获取控制台窗口的原样式,再在原样式的基础上添加~WS_SIZEBOX(代表不可改变窗口大小),~WS_MAXIMIZEBOX(代表隐藏窗口右上角最大化按钮)和~WS_MINIMIZEBOX(代表隐藏窗口右上角最小化按钮)

最终得到的控制台窗口边缘无法拉动,隐藏了大小化按钮使得窗口大小不可改变(但是仍然可以通过右键窗口头选择属性进行修改)。这个函数理论上可以修改包含控制台窗口在内的Windows窗口属性。如果还有疑问的话,可以自己上WSDN查看第一手的文档。

Windows Styles 除了上面介绍的样式外其他可以修改的窗口样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值