乐易论坛-易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ[重磅]2024年实地培训高清培训目录火山PC版乐易模块使用教程
有了火山,易语言是否还有必要学习吗?易语言0基础入门课程火山PC视窗0基础入门课程
乐易论坛官方QQ群一览表易语言外挂0基础入门课程火山PC视窗火山HOOK入门课程
易语言误报处理课程QQ空间POST课程2022年火山PC易语言POST系列课程
Android逆向Jeb动态调试0基础课程QQ邮箱网页POST课程WeChat个微Hook实战课程
百日Js加密分析实战课程(无密下载)QQ群POST课程h5游戏WebSocket逆向视频
JavaScript加密特训课程易语言汇编快速入门课程破解实战系列课程
手游模拟器脚本0基础课程易语言加密防破解0基础入门课程广告位招租联系QQ1615457736
查看: 13958|回复: 1

[网络教程] 转,SendMessage与PostMessage的区别

[复制链接]

[网络教程] 转,SendMessage与PostMessage的区别

[复制链接]
已绑定手机
旧人梦
等级头衔

等級:顶级Vip

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
易币
贡献
主题
精华
金钱
积分
955
注册时间
2016-1-12
最后登录
1970-1-1

勋章墙

2017-3-6 21:12:41 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1). SendMessage函数要等到消息被处理后才返回
    postMessage 消息发出后马上返回

2). PostMessage发向目标窗口的消息一定会进入消息队列
    SendMessage向同一线程的窗口发消息,不会进入消息队列,
    SendMessage向其他线程的窗口发消息,则会进入消息队列,

3). PostMessage的返回值表示PostMessage函数执行是否正确,
   SendMessage的返回值表示其他程序处理消息后的返回值


1、SendMessage()直接把一个消息发给窗口过程,等消息被处理后才返回。Postmessage()只是把消息发送到消息队列,完成后即返回。
2.1、当调用SendMessage时,接收消息的线程的QS_SENDMESSAGE标志被设置,系统调用相应的窗口过程来处理这个消息。 GetMessage和PeekMessage函数在内部进行这种处理。如果在“发送消息队列”中没有消息了,QS_SENDMESSAGE标志就被关 闭。“发送消息队列”中可能有几个Send过来的消息。例如,几个线程同时向一个窗口发送消息。
2.2、当调用PostMessage时,函数GetMessage或PeekMessage填充传递给它们的Msg结构,函数返回。再调用 DispatchMessage,让相应的窗口过程来处理消息。
2.3、当调用SendMessage时,发送线程和接收线程是同一个线程的时候,SendMessag很简单,只是调用指定窗口的窗口过程。但当 发送线程和接收线程不是同一个线程时,麻烦就大了。因为发送线程和接收线程运行在不同的地址空间中,因此不能访问接受线程中相应窗口过程的代码和数据。其 实这时发送线程要挂起,当接收线程处理Send过来的消息时,发送线程被设置为空闲(idle)状态。在发送的消息处理完成后,窗口过程的返回值被登记到 发送线程的应答消息队列中。发送线程被唤醒,取出包含在应答消息队列中的返回值。这个返回值就是调用SendMessage的返回值,这时,发送线程继续 运行。
2.4、WM_PAINT和WM_TIMER这两个消息的优先级非常低,最低的是WM_TIMER。
2.5、WM_COPYDATA只能Send,不能Post。

回复

使用道具 举报

已绑定手机
红鹰
等级头衔

等級:编程菜鸟

Rank: 2

积分成就
易币
贡献
主题
精华
金钱
积分
173
注册时间
2016-11-3
最后登录
1970-1-1

勋章墙

2017-11-7 03:48:26 | 显示全部楼层
意思就是说PostMessage是不管返回的
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2024-3-29 21:39 , Processed in 0.041446 second(s), 43 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

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