0x2_消息的发送

消息的发送

SendMessage函数将指定的消息发送到一个或多个窗口。它调用指定窗口的窗口过程,直到窗口过程处理完消息后才返回。

// 函数原型
LRESULT SendMessage(
  HWND hWnd,      // 目标窗口句柄
  UINT Msg,       // 发送的消息
  WPARAM wParam,  // 消息附加参数
  LPARAM lParam   // 消息附加参数
);

SendMessage函数是非队列消息


消息的寄送

PostMessage函数在与创建指定窗口的线程相关联的消息队列中放置(发布)一条消息,并在不等待线程处理该消息的情况下返回。

// 函数原型
BOOL PostMessage(  
  HWND hWnd,      // 目标窗口句柄
  UINT Msg,       // 发送的消息 
  WPARAM wParam,  // 消息附加参数
  LPARAM lParam   // 消息附加参数
);
  • hWnd参数为HWND_BROADCAST时,该消息被发布到系统中的所有顶级窗口,包括禁用或不可见的无主窗口、重叠窗口和弹出窗口。消息不发布到子窗口。

广播消息

BroadcastSystemMessage函数向指定的收件人发送消息。接收方可以是应用程序、可安装驱动程序、网络驱动程序、系统级设备驱动程序或这些系统组件的任何组合。

long BroadcastSystemMessage(
  DWORD dwFlags,           // 广播选项 
  LPDWORD lpdwRecipients,  // 接收消息的对象 
  UINT uiMessage,          // 广播消息
  WPARAM wParam,           // 消息附加参数 
  LPARAM lParam            // 消息附加参数  
);
- dwFlags参数
    BSF_QUERY:广播一次消息只发送给一个接收者,只有当前接收方返回TRUE时才发送给后续接收方
    如果没有指定BSF_QUERY,则将消息发送给所有接收者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值