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

翻译《The Old New Thing》- Why do messages posted by PostThreadMessage disappear?

Why do messages posted by PostThreadMessage disappear? - The Old New Thing (microsoft.com)icon-default.png?t=N7T8https://devblogs.microsoft.com/oldnewthing/20090930-00/?p=16553

Raymond Chen 2008年09月30日


为什么 PostThreadMessage 发布的信息会消失?

        在显示用户界面的线程中,唯一一种您能够实际发送的消息是`WM_NULL`,而且这通常只是因为您出于某种原因需要唤醒消息循环。我经常遇到的一个常见问题是,人们使用`PostThreadMessage`向显示用户界面的线程发送消息,然后困惑为什么他们的消息从未被接收。

        实际上,消息确实被发送了。它被接收了,但随后就被丢弃了。

        这篇文章实际上是之前一篇标题为“模态循环会吞噬线程消息”的文章的重复,但我用一个更有助于搜索引擎优化的标题重新发表了它。既然我已经在这里了,我不妨对现有文章进行一些补充。

        在用户界面线程上,存在模态循环的明显地方是那些明确是模态的函数,比如`DialogBox`、`MessageBox`、`TrackPopupMenuEx(TPM_RETURNCMD)`或`DoDragDrop`。但还有一些不那么明显的模态循环,比如当您点击标题栏并按住鼠标按钮时运行的模态循环,或者当COM在等待一个跨线程调用完成时运行的模态循环。

        由于您无法控制这些模态循环,当它们调用`DispatchMessage`时,您的线程消息就会被简单地丢弃。

        如果您需要与也显示用户界面的线程可靠地通信,那么您应该创建一个隐藏的窗口,并向该窗口发送或发布消息。

相关文章:

翻译《The Old New Thing》- Why do messages posted by PostThreadMessage disappear?

Why do messages posted by PostThreadMessage disappear? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20090930-00/?p16553 Raymond Chen 2008年09月30日 为什么 PostThreadMessage 发布的信息会消失? 在显示用户界面的线…...

【深度学习】—— 神经网络介绍

神经网络介绍 本系列主要是吴恩达深度学习系列视频的笔记,传送门:https://www.coursera.org/deeplearning-ai 目录 神经网络介绍神经网络的应用深度学习兴起的原因 神经网络,全称人工神经网络(Artificial Neural Network&#xf…...

python-数字黑洞

[题目描述] 给定一个三位数,要求各位不能相同。例如,352是符合要求的,112是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重…...

SpringCloud 负载均衡 spring-cloud-starter-loadbalancer

简述 spring-cloud-starter-loadbalancer 是 Spring Cloud 中的一个组件,它提供了客户端负载均衡的功能。在 Spring Cloud 的早期版本中,Netflix Ribbon 被广泛用作客户端负载均衡器,但随着时间推移和 Netflix Ribbon 进入维护模式&#xff…...

牛客周赛-46

牛客周赛-46 a乐奈吃冰b素世喝茶c爱音开灯d小灯做题 a乐奈吃冰 ac code #include<iostream> using namespace std; int main(){long long a,b;cin>>a>>b;int tmpmin(b,a/2);long long resatmp;cout<<res;return 0; }b素世喝茶 #include<iostream…...

多模态vlm综述:An Introduction to Vision-Language Modeling 论文解读

目录 1、基于对比学习的VLMs 1.1 CLIP 2、基于mask的VLMs 2.1 FLAVA 2.2 MaskVLM 2.3 关于VLM目标的信息理论视角 3、基于生成的VLM 3.1 学习文本生成器的例子: 3.2 多模态生成模型的示例: 3.3 使用生成的文本到图像模型进行下游视觉语言任务 4、 基于预训练主干网…...

28.找零

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/744 题目描述 有一台自动售票机,每张票卖 …...

[方法] 《鸣潮》/《原神》呼出与锁定光标的功能细节

本方法适用于Cinemachine - FreeLook。 1. 锁定与呼出光标的功能实现 // 锁定光标 private void LockMouse() {// 将光标锁定在屏幕中间Cursor.lockState CursorLockMode.Locked;// 隐藏光标Cursor.visible false; }// 呼出光标 private void UnLockMouse() {// 释放光标Cu…...

计算机网络-NAT配置与ACL

目录 一、ACL 1、ACL概述 2、ACL的作用 3、ACL的分类 4、ACL的配置格式 二、NAT 1、NAT概述 2、NAT分类 2.1 、 静态NAT 2.2 、 动态NAT 3、NAT的功能 4、NAT的工作原理 三、NAT配置 1、静态NAT配置 2、动态NAT配置 四、总结 一、ACL 1、ACL概述 ACL&#xff…...

哈尔滨三级等保测评需要测哪些设备?

哈尔滨三级等保测评需要测的设备&#xff0c;主要包括物理安全设备、网络安全设备和应用安全设备三大类别。这些设备在保障哈尔滨地区信息系统安全方面发挥着至关重要的作用。 首先&#xff0c;物理安全设备是确保信息系统实体安全的基础。在哈尔滨三级等保测评中&#xff0c;物…...

大学体育(二)(华中科技大学) 中国大学MOOC答案2024版100分完整版

大学体育&#xff08;二&#xff09;(华中科技大学) 中国大学MOOC答案2024版100分完整版 有氧运动 有氧运动单元测验 1、 世界卫生组织对18-64岁年龄组成年人的运动建议是&#xff1a;每周至少&#xff08; &#xff09;分钟的中等强度有氧身体活动&#xff0c;或者每周至少&a…...

Web前端策划:从理念到实现的全方位解析

Web前端策划&#xff1a;从理念到实现的全方位解析 在数字化时代的浪潮中&#xff0c;Web前端策划作为连接技术与用户界面的桥梁&#xff0c;扮演着至关重要的角色。它涉及从用户需求分析、设计构思到技术实现的全方位过程&#xff0c;要求策划者具备深厚的技术功底和敏锐的市…...

经济与安全兼顾:茶饮店购买可燃气体报警器的价格考量

可燃气体报警器在如今的社会中扮演着至关重要的角色。它们用于检测环境中的可燃气体浓度&#xff0c;及早发现潜在的火灾隐患&#xff0c;保护人们的生命和财产安全。 在这篇文章中&#xff0c;佰德将介绍可燃气体报警器的安装、检定以及价格&#xff0c;通过实际案例和数据&a…...

鞠小云张霖浩闪耀北京广播电视台春晚发布会,豪门姐弟感爆棚

昨日&#xff0c;2025年北京广播电视台“追梦春晚”全国海选发布会在杭州举行&#xff0c;中国内地青年女演员鞠小云同人气幕后张霖浩&#xff0c;受主办方盛情邀请出席本次活动。从现场流露出的照片中可以看出&#xff0c;鞠小云一袭白色长裙灵动温婉素雅&#xff0c;而张霖浩…...

java Function 用法

**Function 接口是 Java 8 引入的一个核心函数式接口&#xff0c;用于表示一个接受单一输入参数并产生结果的函数**。Function 接口主要用在数据处理和转换操作中&#xff0c;如集合处理、流处理等场景。下面将深入探讨 Function 接口的用法&#xff1a; 1. **基本概念**&…...

LabVIEW与Python的比较及联合开发

LabVIEW和Python在工业自动化和数据处理领域各具优势&#xff0c;联合开发可以充分发挥两者的优点。本文将从语言特性、开发效率、应用场景等多个角度进行比较&#xff0c;并详细介绍如何实现LabVIEW与Python的联合开发。 语言特性 LabVIEW 图形化编程&#xff1a;LabVIEW使用…...

RAG技术在教育领域的应用

一、引言 点击可以查看最新资源 随着人工智能技术的飞速发展&#xff0c;教育领域正迎来一场深刻的变革。大型语言模型&#xff08;LLM&#xff09;和检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;RAG&#xff09;技术的结合&#xff0c;为教育领域注入…...

玉米粒计数检测数据集VOC+YOLO格式107张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;107 标注数量(xml文件个数)&#xff1a;107 标注数量(txt文件个数)&#xff1a;107 标注类别…...

成功解决IndexError: index 0 is out of bounds for axis 1 with size 0.

成功解决IndexError: index 0 is out of bounds for axis 1 with size 0. &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f38…...

stm32之USMART调试组件的使用

一、什么是USMART? USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机&#xff0c;然后单片机收到命令之后调用单片机里面对应的相关函数&#xff0c;并执行&#xff0c;同时支持返回结果。 二、USMART调…...

【Python】成功解决TypeError: ‘int’ object is not iterable

【Python】成功解决TypeError: ‘int’ object is not iterable &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#…...

【日常记录】【JS】中文转拼音的库 pinyin-pro

文章目录 1、介绍2、pinyin-pro 基本使用3、参考链接 1、介绍 pinyin-pro 是一个专业的 JavaScript 中文转拼音的库&#xff0c;具备多音字识别准确、体积轻量、性能优异、功能丰富等特点。 常用的案例 搜索功能增强&#xff1a;在输入框输入汉字时&#xff0c;可以转化为拼音输…...

CopyOnWriteArrayList详解

目录 CopyOnWriteArrayList详解1、CopyOnWriteArrayList简介2、如何理解"写时复制"3、CopyOnWriteArrayList的继承体系4、CopyOnWriteArrayList的构造函数5、CopyOnWriteArrayList的使用示例6、CopyOnWriteArrayList 的 add方法7、CopyOnWriteArrayList弱一致性的体现…...

CUDA 编程(1):使用Grid 和 Block分配线程

1 介绍 1.1 Grid 和 Block 概念 核函数以线程为单位进行计算的函数,cuda编程会涉及到大量的线程(thread),几千个到几万个thread同时并行计算,所有的thread其实都是在执行同一个核函数。 对于核函数(Kernel),一个核函数一般会分配1个Grid, 1个Grid又有很多个Block,1个Bloc…...

ArcGIS for js 4.x FeatureLayer 加载、点选、高亮

安装arcgis for js 4.x 依赖&#xff1a; npm install arcgis/core 一、FeatureLayer 加载 代码如下&#xff1a; <template><view id"mapView"></view></template><script setup>import "arcgis/core/assets/esri/themes/li…...

倩女幽魂手游攻略:云手机自动搬砖辅助教程!

《倩女幽魂》手游自问世以来一直备受玩家喜爱&#xff0c;其精美画面和丰富的游戏内容让人沉迷其中。而如今&#xff0c;借助VMOS云手机&#xff0c;玩家可以更轻松地进行搬砖&#xff0c;提升游戏体验。 一、准备工作 下载VMOS云手机&#xff1a; 在PC端或移动端下载并安装VM…...

Typesense-开源的轻量级搜索引擎

Typesense-开源的轻量级搜索引擎 Typesense是一个快速、允许输入错误的搜索引擎&#xff0c;用于构建愉快的搜索体验。 开源的Algolia替代方案& 易于使用的弹性搜索替代方案 官网: https://typesense.org/ github: https://github.com/typesense/typesense 目前已有18.4k…...

探索 LLM 预训练的挑战,GPU 集群架构实战

万卡 GPU 集群实战&#xff1a;探索 LLM 预训练的挑战 一、背景 在过往的文章中&#xff0c;我们详细阐述了LLM预训练的数据集、清洗流程、索引格式&#xff0c;以及微调、推理和RAG技术&#xff0c;并介绍了GPU及万卡集群的构建。然而&#xff0c;LLM预训练的具体细节尚待进一…...

高考分数查询结果自动推送至微信(卷II)

祝各位端午节安康&#xff01;只要心中无结&#xff0c;每天都是节&#xff0c;开心最重要&#xff01; 在上一篇文章高考分数查询结果自动推送至微信&#xff08;卷Ⅰ&#xff09;-CSDN博客中谈了思路&#xff0c;今天具体实现。文中将敏感信息已做处理&#xff0c;读者根据自…...

python类动态属性,以属性方式访问字典

动态属性能够用来描述变化的类&#xff0c;在实际应用中容易遇到用到。 import logging class Sample:def __init__(self):self.timeNoneself.sampleidNoneself.massNoneself.beizhu""self.num0self.items{}#字典属性def __getattribute__(self, attr): #注意&#…...

学校网站建设方案论文/网站权重是什么意思

我们不常用但是比较实用的SHELL脚本&#xff1a;1、apt-get install sl 这时候忘记了sudo &#xff0c;那么只要执行sudo !!&#xff0c;!!表示上一条命令2、vi hello.c 退出后&#xff0c;如果想打开刚才的hello.c文件&#xff0c;只需要!vi3、man ascii 来查看ascii码表4、ec…...

泰州哪家做网站建设比较好/网络营销策划书

问题来源: http://www.cnblogs.com/del/archive/2009/06/05/1496857.html#1549294TTrayIcon 的主要属性:TrayIcon.Icon指定托盘图标, 有几种用法:1、设计时选择;2、把一个 TIcon 对象给它;3、使用当前程序图标: TrayIcon1.Icon : Application.Icon;4、TrayIcon1.SetDefaultIcon…...

平台推广引流怎么做/成都seo服务

异常处理 1&#xff09;系统报错信息 try { 1行&#xff1a; Console.WriteLine("错误前"); 2行&#xff1a; int i Convert.ToInt32("ad"); 3行&#xff1a; Console.WriteLine("错误后2"); 4行&#xff1a; …...

遵义企业网站建设/网络营销型网站

留个位置 转载于:https://www.cnblogs.com/motong/p/10037722.html...

网站开发培训排名/网页优化包括什么

SVN还是很好用滴。在家里装一个也是很必要滴&#xff01;&#xff08;俺们以前都是只用不装……&#xff09;安装过程&#xff1a;安装程序&#xff08;我的程序有点老&#xff09;&#xff1a;svn-1.4.6-setup.exeTortoiseSVN-1.4.0.7501-win32-svn-1.4.0先把两个都装了&#…...

网站建设2种账号体系/阿里巴巴logo

查看: (1) 首先,先找到你保存路径&#xff0c;默认是路径 C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple (2) 点击连接下载软件到上述目录 http://www.leapbeyond.com/ric/TSvnPD/ 然后执行软件就可以看见账号密码了 修改: 1. 查看你的Eclipse 中…...