VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 448|回复: 4

[交流] Do not post the WM_QUIT message using the PostMessage function.

[复制链接]
89_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-19 01:35:10 | 显示全部楼层 |阅读模式
本帖最后由 cxytz01 于 2019-10-19 01:39 编辑

Do not post the WM_QUIT message using the PostMessage function.

msdn: https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-quit 提示,不要使用postmessage post wm_quit,请问其中有什么原因?

另外,PostThreadMessage,可以用来post wm_quit吗? 我实操了下,没有问题,不知道有什么隐含的坑。




上一篇:线程里面创建窗口,窗口没反应
下一篇:关于直接用OUTPUT_CONTENT的头文件,求大佬,网上找不到啊
51_avatar_middle
最佳答案
83 
online_admins 发表于 2019-10-19 18:53:15 | 显示全部楼层
If you want to send a closing signal to a window, send a WM_CLOSE. Do not send a WM_QUIT with PostMessage. The WM_QUIT message is not associated with a window and therefore will never be received through a window's window procedure. It is retrieved only by the GetMessage or PeekMessage functions. Use PostQuitMessage.
89_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-20 10:01:56 | 显示全部楼层
Syc 发表于 2019-10-19 18:53
If you want to send a closing signal to a window, send a WM_CLOSE. Do not send a WM_QUIT with PostMe ...

我就是想发送wm_quit给线程,线程里面调用了getmessage,让getmessage退出来的。
就是不知道为什么非要用postquitmessage,msdn文档没找到相关说明
10_avatar_middle
最佳答案
3 
在线会员 发表于 2019-10-21 09:58:19 | 显示全部楼层
cxytz01 发表于 2019-10-20 10:01
我就是想发送wm_quit给线程,线程里面调用了getmessage,让getmessage退出来的。
就是不知道为什么非要 ...

直接发送WM_QUIT线程就直接退出了,窗口没有销毁。只有发送WM_CLOSE消息,在收到WM_CLOSE消息后调用DestroyWindow销毁窗口,然后再调用postquitmessage来做一些清理并发送WM_QUIT,最后退出程序。
50_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-22 10:24:32 | 显示全部楼层
通常线程退出不要主动进行结束的,多数是等待执行结束(特殊的要求会terminate,除非你打算强制终止程序,但对于服务器程序不会出现此类实现),如果在线程内部创建了窗口过程,要注意窗口过程是线程栈的内部资源,窗口销毁等应该是与线程的消亡没有关系,线程内怎么写都可以。线程执行完成要进行相应的资源释放,窗口过程也是一样。封装好的标准窗口过程也存在一些窗口资源,由标准窗口过程在进行管理。Windows指导我们不要手动处理WM_QUIT主要也是这方面的考虑。我的理解是WM_QUIT是一个窗口消息,其本身应该与线程执行没有任何关系。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-11-24 19:21

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表