首页
题库
面试
求职
学习
竞赛
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收藏
21433浏览
热门推荐
相关试题
两个圆相交,交点是A1,A2。现在...
微软
网易
智力题
评论
(25)
来自
网易互娱2013研发工程...
以下指令集架构属于复杂指令集架构的是?
阿里巴巴
编译和体系结构
评论
(15)
来自
阿里巴巴2015实习生笔试题
下列需要重新启动计算机的操作有?
华为
Windows
评论
(5)
关于IP地址下列说法错误的是?
阿里巴巴
腾讯
2015
网络基础
算法工程师
评论
(38)
来自
腾讯2015春招pc客户...
给出以下定义,下列哪些操作是合法的?
阿里巴巴
腾讯
2015
C++
算法工程师
C语言
评论
(81)
来自
腾讯2015春招pc客户...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题