sendmessage、postmessage和直接调用该对话框的方法,有何区别,那个好一点?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sendmessage、postmessage和直接调用该对话框的方法,有何区别,那个好一点?相关的知识,希望对你有一定的参考价值。
参考技术A sendmessage、postmessage都属于消息传递机制,和直接调用该对话框相比,它俩都是间接调用,即可以模拟直接调用的过程;sendmessage、postmessage的区别:
1
函数的返回值不同,前者返回消息处理结果,后者是BOOL表示是否传递成功;
2
postmessage是异步,即把消息放入消息队列后,就不管处理结果就走了;sendmessage是同步,即它会等消息处理完才返回;
3
因此在同一个线程中,用sendmessage处理速度更快;在多线程之间,一般postmessage这样更方便,即把消息放入目标窗口的信息队列中,然后由目标窗口通过消息循环自行派发处理。
综上,直接调用窗口更类似sendmessage,但是用消息传递函数更直接,更接近底层调用;当时方便的话,当然还是你直接调用窗口简单。
以上是关于sendmessage、postmessage和直接调用该对话框的方法,有何区别,那个好一点?的主要内容,如果未能解决你的问题,请参考以下文章
消息与函数,postmessage与sendmessage,该怎么解决
sendmessage、postmessage和直接调用该对话框的方法,有何区别,那个好一点?