首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
WM_QUIT消息的用途是什么?一个普通的Windows窗口
[问答题]
WM_QUIT消息的用途是什么?一个普通的Windows窗口能收到的最后一条消息是什么?
添加笔记
求解答(12)
邀请回答
收藏(153)
分享
纠错
6个回答
添加回答
9
万QQ
图1 窗口的生命周期
如上图所示:当使用者按下菜单中的close命令项,系统送出
WM_ClOSE
,通常程序
的窗口函数不拦截此消息,于是DefWindowProc处理它;
D
efWindowProc
收到
WM_CLOSE
后,调用
DestroyWindow
把窗口清除,DestroyWindow本身又会送出
WM_DESTROY
;程序对WM_DESTROY的标准反应是调用PostQuitMessage,而
PostQuitMessage
没有什么其它动作,就只送出
WM_QUIT
消息,准备让消息循环中的GetMessage取得,结束消息循环。GetMessage从消息序列中抓取到WM_QUIT后,
GetMessage会传回0而结束while循环,进而结束整个程序。
因此一个普通窗口能接收到的最后一条消息应该是WM_QUIT.
编辑于 2015-06-03 21:29:29
回复(2)
5
杀死那只老鼠
WM_QUIT通知程序退出,一般情况下在主线程中会有一个循环如下:
while(GetMessage(......))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
如果GetMessage获得的是WM_QUIT消息,GetMessage便会返回FALSE,导致while循环退出,一般情况下,程序也会退出。windows窗口不会受到WM_QUIT消息。
普通Windows窗口能收到的最后一条消息时WM_DESTROY。
发表于 2015-07-03 10:22:43
回复(0)
1
月夜另风
最后一条消息是WM_QUIT。
具体细节参考:http://blog.csdn.net/guzhou_diaoke/article/details/8155171
编辑于 2015-09-04 17:00:05
回复(0)
1
stap_黄海汇_ManUtd
WM_QUIT 关闭消息循环,结束程序运行
WM_DESTORY
发表于 2015-04-01 18:51:20
回复(0)
0
牛客850259号
WM_QUIT 关闭消息循环,结束程序运行
WM_CLOSE->
WM_DESTROY->
WM_QUIT
因此一个普通窗口能接收到的最后一条消息应该是WM_QUIT.
发表于 2015-09-06 09:27:42
回复(0)
0
唯舞独尊
WM_DESTROY
发表于 2015-04-24 22:32:22
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
编译和体系结构
网易
算法工程师
腾讯
2015
Windows
来自:
腾讯2015春招pc客...
上传者:
揍小西
难度:
6条回答
153收藏
21425浏览
热门推荐
相关试题
两个圆相交,交点是A1,A2。现在...
微软
网易
智力题
评论
(25)
来自
网易互娱2013研发工程...
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
以下指令集架构属于复杂指令集架构的是?
阿里巴巴
编译和体系结构
评论
(15)
来自
阿里巴巴2015实习生笔试题
下列运算符,在C++语言中不能重载...
阿里巴巴
腾讯
2015
C++
算法工程师
评论
(54)
来自
腾讯2015春招pc客户...
关于IP地址下列说法错误的是?
阿里巴巴
腾讯
2015
网络基础
算法工程师
评论
(38)
来自
腾讯2015春招pc客户...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题