Windows 窗口间的通信实验 - SendMessage 和 PostMessage 函数的区别

博客介绍了SendMessage和PostMessage函数的逻辑区别。SendMessage直接调用其他窗口的窗口过程处理消息并等待返回,目标窗口必定已处理;PostMessage将消息放入目标窗口消息队列后直接返回,目标窗口可能未处理。普通消息下二者速度有别,PostMessage不能用于含指针参数的消息。
  1. 从逻辑上看:
    1. SendMessage函数相当于直接调用其他窗口的窗口过程来处理消息,并等待窗口过程的返回,在函数返回后,目标窗口过程必定处理了该消息。
    2. PostMessage函数则将消息放到目标窗口的消息队列中并直接返回,函数返回后,目标窗口过程还可能没有处理到该消息。
  2. 对于普通消息来说,这两者速度差别之外其余差别不大。但是,PostMessage的参考文档明确说明,该函数不能用于任何参数中用到指针的消息。(其本质应该是无法创建一个共享内存,这个策略你应该明确地。)
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值