求教如何在C++中固定cmd窗口大小

qq_39378452 2017-07-01 10:36:26
如题,新手刚学C++才一年
求详细解释哪个函数或语句可以实现固定cmd对话框大小

之前找的都是说取消WS_THICKFRAME风格,但是并不懂具体怎么实现,郁闷
...全文
981 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
火车飞呀飞 2019-11-02
  • 打赏
  • 举报
回复
我试了一下,可以用,答主很棒;
qq_39378452 2017-07-02
  • 打赏
  • 举报
回复 1
引用 1 楼 fight_in_dl 的回复:
比想象的困难,不少小坑,还好调出来了。
#include <Windows.h>

int main() {
	printf("hello\n");
	HWND hWnd = GetConsoleWindow(); //获得cmd窗口句柄
	RECT rc;
	GetWindowRect(hWnd, &rc); //获得cmd窗口对应矩形

	//改变cmd窗口风格
	SetWindowLongPtr(hWnd, 
		GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);
	//因为风格涉及到边框改变,必须调用SetWindowPos,否则无效果
	SetWindowPos(hWnd,
		NULL,
		rc.left,
		rc.top,
		rc.right - rc.left, rc.bottom - rc.top,
		NULL);

	return 0;
}
如果有帮助,请采纳答案好吗,谢谢!
谢谢了!!!真的可以用!感谢!
战在春秋 2017-07-02
  • 打赏
  • 举报
回复 1
比想象的困难,不少小坑,还好调出来了。
#include <Windows.h>

int main() {
	printf("hello\n");
	HWND hWnd = GetConsoleWindow(); //获得cmd窗口句柄
	RECT rc;
	GetWindowRect(hWnd, &rc); //获得cmd窗口对应矩形

	//改变cmd窗口风格
	SetWindowLongPtr(hWnd, 
		GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);
	//因为风格涉及到边框改变,必须调用SetWindowPos,否则无效果
	SetWindowPos(hWnd,
		NULL,
		rc.left,
		rc.top,
		rc.right - rc.left, rc.bottom - rc.top,
		NULL);

	return 0;
}
如果有帮助,请采纳答案好吗,谢谢!

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧