MFC的sendmessage和postmessage 以及sendmessagetimeout
PostMessage只负责将消息放到消息队列中,不确定何时及是否处理,相当于异步操作,执行后马上返回
SendMessage要等到受到消息处理的返回码(DWord类型)后才继续,相当于同步操作,一直在等待,必须等到消息被处理后才会返回。
SendMessageTimeout 函数,是会有一个超时的操作,防止操作一直没返回,当前程序挂起,这个函数有几个参数:
LRESULT SendMessageTimeout(HWND hwnd,
UINT Msg,
WPARAM wParam,
LPARAM IParam,
UINT fuFlags,
UIUT uTimeout,
LPDWORD lpdwResultult);
Msg 为 HWND_BROADCAST,是发给所有的窗口。
//for example//发送端:
WM_CLOSE_AGENT_APP = ::RegisterWindowMessage(_T("CLOSE_AUDIO_DEV_AGENT_APP"));
PDWORD_PTR lpdwResultult = 0;
::SendMessageTimeout(HWND_BROADCAST, WM_CLOSE_AGENT_APP, 0, 0, SMTO_ABORTIFHUNG, 500, lpdwResultult);
//接收端:
//注册同一个窗口消息,然后监听注册的消息
WM_CLOSE_AGENT_APP = ::RegisterWindowMessage(_T("CLOSE_AUDIO_DEV_AGENT_APP"));
ON_REGISTERED_MESSAGE(WM_CLOSE_DEVAGENT_APP, &CILSysAudioDevAgentDlg::OnCloseAgentApp)
转载于:https://www.cnblogs.com/132818Creator/p/11466195.html
MFC的sendmessage和postmessage 以及sendmessagetimeout相关推荐
- SendMessage 和 PostMessage
Win32 API消息函数:SendMessage 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回.而函数PostMessage不同, ...
- SendMessage、PostMessage原理
SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别 ...
- SendMessage和PostMessage
SendMessage 和 PostMessage 的区别 1.首先是返回值意义的区别,我们先看一下 MSDN 里的声明: LRESULT SendMessage( HWND hWnd ...
- SendMessage、PostMessage原理和源代码详解
本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别为: 1.SendMessage.PostMessa ...
- Windows SendMessage和PostMessage区别(最简单的讲解)
SendMessage和PostMessage共同点: 都是向其他进程或本进程传递消息,消息是Windows处理机制的灵魂,这个消息就不详解了,大家可以百度一下看一下,很重要在Windows开发当中. ...
- Windows API 函数SendMessage与PostMessage使用方法和常见的坑
Windows API 函数中 SendMessage 与 PostMessage 用处很大,经常被程序员们使用.对老手们来说,了如知掌,但对新手来说,可能会遇到这样那样的问题.我作为一名老手中的新手 ...
- Window SendMessage,PostMessage分析
Window SendMessage,PostMessage分析 背景 SendMessage 函数原型 PostMessage 函数原型 区别 问题解决 背景 前段时间程序中突然出现一个Bug,程序 ...
- MFC C++ 如何发送Postmessage
MFC C++ 如何发送Postmessage 案例1 一.发起postmessage void CValidEdit::OnTimer(UINT_PTR timer){if (timer == TM ...
- SendMessage、PostMessage 2021-01-07
本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别为: 1.SendMessage.PostMessa ...
最新文章
- c文本框只能输入数字_VBA代码限制文本框的输入
- linux下shell显示-bash-4.1#不显示路径解决方法
- redis info memory
- 基于Lucene/XML的站内全文检索解决方案:WebLucene 【转】
- Windows消息拦截技术的应用
- ConcurrentHashMapK, V的实现
- Android 图片展示器
- U盘美化(更换U盘logo和页面背景软件)
- ESP32-cam 初体验 从esp32-cam的购买到局域网监控的实现
- centos 7下搭建wiki系统
- linux开启wifi热点命令,deepin Linux 开启wifi热点
- 小程序navigateTo失效
- 应用于高速计数器的编码器基础知识介绍
- 3.1 mocha使用allure报告
- DELL强化版《最终幻想11》认证电脑出炉
- poj 2187(旋转卡壳)
- 按键精灵电脑版对接百度ai,告别字库(文字识别篇)
- Android数据库高手秘籍(六)——LitePal的修改和删除操作
- mysql error unpacking_linux 安装 mysql rpm包出现error: unpacking of archive failed on file
- 【经典论文】ResNeXt