当前位置: 首页 > ds >正文

PostMessage和SendMessage的区别

PostMessage:不需要指定接收消息的窗口,但是消息只能发往本窗口
    ::PostMessage:需要指定接收消息的窗口,但是消息可以发往任意窗口

    SendMessage:将消息直接发送给窗口,并调用该窗口的窗口过程进行处理。在窗口过程对消息处理完毕之后,该函数才返回(SendMessage发送的消息不进入队列)。

    PostMessage函数将消息放入创建窗口的线程相关联的消息队列后立即返回。除了这两个函数之外,还有一个

PostThreadMessage函数,用于向线程发送消息,对于线程消息,MSG结构体中的hwnd成员为NULL。

    SendMessage是阻塞的。PostMessage不是的。SendMessage会等发去的消息被处理了才返回。PostMessage则只负责把消息放到相应的消息队列中就返回了,它不必等待消息的处理。

 

在使用上有一个要注意的地方。

   在MFC中每个从CWnd继承来的类,都有两个成员函数SendMessage,PostMessage。

   在Windows SDK中也有两个函数SendMessage,PostMessage。这是有区别的。

   下面均以PostMessage为例来说明。

Windows SDK中的PostMessage有四个参数

BOOL PostMessage(

   HWND hWnd,

   UINT Msg,

   WPARAM wParam,

   LPARAM lParam

);

 

但是CWnd的成员函数PostMessage只有三个参数

BOOL PostMessage(

   UINT message,

http://www.xdnf.cn/news/11534.html

相关文章:

  • 2023 Android面试官 常问的问题以及答案(附最新的Android面试大厂必考174题 )
  • ZYNQ FPGA实验——ADDA测试
  • 电脑出现错误代码:-118是什么情况,解决错误代码:-118的方法
  • 横盘是什么意思?
  • 嘉靖王朝最大的一出闹剧和惨剧——大礼仪之争
  • 使用C#和.NET Core的ETL作业
  • 【Qt系列教程】一、认识Qt、安装Qt、运行Hello Qt
  • Linux系统命令大全(超级详细版)
  • TestLink的使用实例
  • Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式
  • 2024年最新TCPView下载安装使用教程(图文教程)超详细(1),网络安全开发实用必备的几款插件
  • 特异度(specificity)与灵敏度(sensitivity)
  • 字符编码全解析:ASCII、GBK、Unicode、UTF-8与ANSI
  • python3中配置文件ini的使用详解----读写、list/dict/path等变量的应用、解码
  • VS 番茄插件 Visual Assist X_10.9.2440
  • mysql : grant权限命令汇总
  • JSF入门之helloworld
  • 20220801 git push -f命令
  • c语言---函数递归(详解)
  • Android 平台 metaRTC使用源码调试
  • MOS管工作原理精讲
  • 软件测试人员必备的60个测试工具,果断收藏了!_测试工程师必备软件_
  • linux 无法挂载目录mnt,详解linux下mnt目录作用
  • QSS语法介绍
  • JavaScript基础一、简介
  • 波动方程
  • 专家系统是什么
  • Redis设计与实现之RDB
  • Android中的Service详解
  • 无需专业技能,轻松创建个人博客:Cpolar+Emlog在Ubuntu上的搭建指南