PostMessage函数和SendMessage函数的使用
来源:互联网 发布:数据库怎么导入excel 编辑:程序博客网 时间:2024/06/01 09:07
这两个函数可以用于不同应用程序之间互发消息,PostMessage函数是把一个消息放到其他程序等的消息队列中,目标程序收到了这条消息就把它放入该程序的消息队列中去处理;而SendMessage函数则越过消息队列直接调用目标程序的窗口过程,窗口过程返回后才从SendMessage函数中返回。
而另外一段文字描述是这样:当程序A调用SendMessage函数的时候,windows会先保存wParam和lParam参数并等待,等轮到程序B的时间片的时候再去调用它的窗口过程,并把保存的wParam和lParam参数发给它,等窗口过程返回的时候,windows记下返回值并等待,再等轮到程序1的时间片的时候把返回值当做SendMessage的返回值传给程序A,这样程序A看上汽就像自己直接在调用程序B的窗口过程一样。 上述两段文字的描述,说明假如当前程序A调用SendMessage函数,则除非等到程序B处理了由程序A发送给它的消息,否则SendMessage函数将不返回,因此程序A将陷入SendMessage函数中,那么在Windows分配给程序A的20ms时间片中,程序A将不能做任何其他事情!如果这样理解正确那么使用SendMessage函数使得程序A的运行效率很慢!那么,加入我们要在不同程序之间发送消息,假如我们并不想让用户察觉到该过程,则使用PostMessage函数将更好的隐藏我们自身的程序。
此外,向程序B发送WM_SETTEXT或者WM_COPYDATA消息时,如果使用PostMessage函数,则程序B根本不会接受到这两个消息。事实上,当消息参数中用到指针时,用PostMessage函数来发送消息都不会成功。
- PostMessage函数和SendMessage函数的使用
- 实例说明<<PostMessage和SendMessage函数的区别>>
- SendMessage、PostMessage函数的实现原理
- sendmessage()和postmessage()使用的注意事项
- 关于SendMessage和PostMessage的使用感悟
- 关于SendMessage和PostMessage的使用感悟
- PostMessage 与 SendMessage 函数对比
- 函数的可重入和C++中Sendmessage 和 PostMessage 的区别
- MFC发送消息函数PostMessage(异步)和SendMessage(同步)的异同
- SendMessage、PostMessage两个函数的实现原理【转载】
- SendMessage、PostMessage两个函数的实现原理【转载】
- SendMessage 和 PostMessage 的区别
- PostMessage和SendMessage的区别
- PostMessage和SendMessage的区别
- SendMessage 和 PostMessage 的区别
- PostMessage 和SendMessage 的区别
- PostMessage和SendMessage的区别
- PostMessage和SendMessage的区别
- Windows7的Ntdll.dll文件的Message table.
- 指什么快捷用法呢?给你一个Windows XP的快捷键大全吧。
- 【入门恩师】 --极致强压下的Linux学习,感谢马哥
- Memcached 基础知识
- tips: about thermal paste on laptop
- PostMessage函数和SendMessage函数的使用
- 微软、google、雅虎、百度等各大著名公司的经典面试题!保证搞晕你!!
- 黑马程序员_JAVA学习心得
- C库函数—strcpy实现
- 数据库操作之经典篇
- 七月的工作总结
- vmware虚拟机安装gentoo 出现eth0: Device not found 错误AMD PCnet32模块编译
- 基于嵌入式QTE的输入法基本方法
- TPM环境搭建 Tpm_emulator模拟器安装过程