python 中Windows编程一些心得
主要思路 当我们显示所有消息的信息时,我们可以知道Windows后台是如何传递消息给我们,但是并不会把所有东西写进开发文档 ,这有一定的原因 但是 我们要自己去理解或者猜想开发者思路或者根据反馈结果来分析消息的作用,不然永远只是会抄别人代码 自己也没有什么收获或者自己不会用编程解决问题。还有最重要一点,编程是让别人得到帮助 而不是去损害别人。没有人喜欢破坏者 所以我不会教你如何给别人制造困难,这个世界只有帮助别人的人受人尊敬。下面我给出一点自己分析消息的方法:
我们知道 当创建一个窗口是 Windows会把消息传递给我能自己的应用程序窗口过程 但是,大部分消息都是由Windows自己处理,从下面的代码就可以看出 但是你会发现有些消息并未在微软的开发者文档中给出 或者是我自己没找到,下面是python语法给出的 其他程序也是同样思路
while user32.GetMessageW(ctypes.byref(msg), None, wParam, lparam) != 0:#PeekMessageA在没有消息时返回0 有消息是返回非零if(user32.PeekMessageA(ctypes.byref(msg),None,wParam,lparam,win32con.PM_NOREMOVE)):print("检测自己应用程序收到消息", msg.message, "十六进制", hex(msg.message))match msg.message:case 0x83f1:# match(wParam):# case win32con.VK_LBUTTON:print("按下有窗口最大化最小化按钮的消息-- -----------")case 0x113:print("收到定时器消息", msg.message, "十六进制", hex(msg.message))passelse: #没有消息时处理# # print("heoll 这是空闲时间")# drawRectangle(hwnd)# # user32.UpdateWindow(hwnd)passuser32.TranslateMessage(ctypes.byref(msg))user32.DispatchMessageW(ctypes.byref(msg))
根据检测消息运行输出结果发现:0x83f1消息并未找到,可能是自定义消息 ,以及Windows有时会自动发送定时消息 0x113
检测自己应用程序收到消息 33777 十六进制 0x83f1
按下有窗口最大化最小化按钮的消息-- -----------
检测自己应用程序收到消息 33777 十六进制 0x83f1
按下有窗口最大化最小化按钮的消息-- -----------
检测自己应用程序收到消息 33777 十六进制 0x83f1
按下有窗口最大化最小化按钮的消息-- -----------
检测自己应用程序收到消息 33777 十六进制 0x83f1
按下有窗口最大化最小化按钮的消息-- -----------
检测自己应用程序收到消息 275 十六进制 0x113
收到定时器消息 275 十六进制 0x113
检测自己应用程序收到消息 674 十六进制 0x2a2
检测自己应用程序收到消息 674 十六进制 0x2a2
检测自己应用程序收到消息 674 十六进制 0x2a2
窗口没有获得焦点 消息编号: 8 wParam 0
检测自己应用程序收到消息 1126 十六进制 0x466
检测自己应用程序收到消息 18 十六进制 0x12
相关文章:
python 中Windows编程一些心得
主要思路 当我们显示所有消息的信息时,我们可以知道Windows后台是如何传递消息给我们,但是并不会把所有东西写进开发文档 ,这有一定的原因 但是 我们要自己去理解或者猜想开发者思路或者根据反馈结果来分析消息的作用,不然永远只…...
android 13.0 系统属性控制音量键功能是否可用开关(屏蔽音量加减功能)
1.概述 在13.0的系统定制化开发中,要求屏蔽掉音量+ 音量-的功能,根据系统属性来判断是否响应音量加减的功能,在系统上层中是由PhoneWindowManage来管理音量键的功能, 所以就要看是PhoneWindowManage.java中怎么处理的音量键的功能 首选看的源码关于音量键的处理 2.系统属…...
hive自定义函数及案例
一.自定义函数 1.Hive自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。 2.当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数。 3.根据用户自定义…...
2023亚太五岳杯量子计算挑战赛数学建模思路代码模型论文
2023五岳杯数学建模思路:比赛开始后第一时间更新,获取见文末名片 今年,APMCM亚太地区大学生数学建模竞赛组委会正式和玻色量子、中国移动云能力中心等多家单位达成合作。 开展APMCM校企合作高校巡回学术讲座活动,为企业、高校搭…...
Tomcat的结构分析和请求处理原理解析
目录 Tomcat服务器?Tomcat结构处理请求流程Tomcat作用其他的web服务器 Tomcat服务器? 我们经常开口闭口“服务器”、“服务器”的,其实“服务器”是个很容易引发歧义的概念 其实,Tomcat服务器 Web服务器 Servlet/JSP容器&#…...
FastAPI之响应模型
前言 响应模型我认为最主要的作用就是在自动化文档的显示时,可以直接给查看文档的小伙伴显示返回的数据格式。对于后端开发的伙伴来说,其编码的实际意义不大,但是为了可以不用再额外的提供文档,我们只需要添加一个 response_mod…...
Python数据科学视频讲解:数据清洗、特征工程和数据可视化的注意事项
1.6 数据清洗、特征工程和数据可视化的注意事项 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解1.6节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵盖数据科学应用的全流程…...
Unity优化——加速物理引擎1
大家好,这里是七七,今天开始更新物理引擎相关的优化部分了,本文介绍的是物理引擎内部工作情况。 Unity技术有两种不同的物理引擎:用于3D物理的Nvidia的PhysX和用于2D物理的开源项目Box2D。然而,Unity对它们的实现是高…...
PHP的最新版本是多少?有什么新特性?
截至日期(2022年1月),PHP的最新稳定版本是PHP 8.0。以下是PHP 8.0的一些主要新特性: JIT 编译器: 引入了即时编译(Just-In-Time,JIT)引擎,提升了PHP脚本的执行性能。 命…...
漏洞复现-云安宝-云匣子Fastjson命令执行(附漏洞检测脚本)
免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…...
oh-my-zsh 安装和配置
安装zsh sudo apt update sudo apt install zsh安装oh-my-zsh sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"配置~/.zshrc sudo vim ~/.zshrc添加以下内容 ZSH_THEME"steeef" HISTFILE~/.zsh_history HISTS…...
LinuxBasicsForHackers笔记 -- 日志系统
日志文件存储有关操作系统和应用程序运行时发生的事件的信息,包括任何错误和安全警报。 rsyslog 日志守护进程 Linux 使用名为 syslogd 的守护进程自动记录计算机上的事件。 rsyslog 配置文件 与 Linux 中的几乎所有应用程序一样,rsyslog 由位于 /et…...
WPS Office JS宏实现批量处理Word中的标题和正文的样式
该篇讲解下word文档中的标题和正文批量修改样式,如下图: 前面一篇已讲解了WPS Office宏编辑器操作方法,这里不细讲了,如有不清楚可以查看该篇:https://blog.csdn.net/jiciqiang/article/details/134653657?spm1001.20…...
论文怎么改才能降低重复率
一、引言:智能工具助力,轻松降低论文重复率 论文的重复率是学术写作中的重要问题,如何有效降低重复率成为了许多研究者的关注焦点。如今,智能工具的发展为我们提供了更多选择。本文将介绍几种实用的智能工具,包括快码…...
【从零开始学习JVM | 第六篇】快速了解 直接内存
前言: 当谈及Java虚拟机(JVM)的内存管理时,我们通常会想到堆内存和栈内存。然而,还有一种被称为"直接内存"的特殊内存区域,它在Java应用程序中起着重要的作用。直接内存提供了一种与Java堆内存和…...
Wireshark中的http协议包分析
Wireshark可以跟踪网络协议的通讯过程,本节通过http协议,在了解Wireshark使用的基础上,重温http协议的通讯过程。 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于 字节流…...
ubuntu如何远程ssh登录Windows环境并执行测试命令
ubuntu如何远程ssh登录Windows环境并执行测试命令 1 paramiko模块简介1.1 安装paramiko1.2 paramiko基本用法1.2.1 创建SSHClient实例1.2.2 设置主机密钥策略1.2.3 连接SSH服务器1.2.4 执行命令1.2.5 关闭SSH连接1.2.6 异常处理 2 windows的配置2.1 启动OpenSSH服务2.2 配置防火…...
人工智能应用专栏----专栏介绍
文章目录 本专栏主要记录人工智能的应用方面的内容,包括chatGPT、AI绘图等等; 订阅后可私聊我获取 《从零注册并登录使用ChatGPT》 《从零开始使用chatGPT的API;通过chatgpt-next-web部署自己chatGPT web网页;无需翻墙,…...
【lesson11】表的约束(4)
文章目录 表的约束的介绍唯一键约束测试建表插入测试建表插入测试建表插入测试修改表插入测试 表的约束的介绍 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保…...
将单体应用程序迁移到微服务
多年来,我处理过多个单体应用,并将其中一些迁移到了微服务架构。我打算写下我所学到的东西以及我从经验中用到的策略,以实现成功的迁移。在这篇文章中,我将以AWS为例,但基本原则保持不变,可用于任何类型的基…...
破解Windows浏览器重定向限制:EdgeDeflector技术原理与实践指南
破解Windows浏览器重定向限制:EdgeDeflector技术原理与实践指南 【免费下载链接】EdgeDeflector A tiny helper application to force Windows 10 to use your preferred web browser instead of ignoring the setting to promote Microsoft Edge. Only runs for a …...
ArcGIS Pro新手避坑:从OpenStreetMap导入路网到创建拓扑关系全流程
ArcGIS Pro实战:从OSM路网数据到可分析拓扑关系的全流程精解 第一次接触ArcGIS Pro进行网络分析时,我兴冲冲地从OpenStreetMap下载了路网数据,却在创建网络数据集时遭遇了各种报错——几何错误、属性缺失、拓扑混乱。这让我意识到࿰…...
超快排seo如何与社交媒体营销相结合
超快排SEO如何与社交媒体营销相结合 在当今数字化时代,网站的流量和排名对企业的成功至关重要。传统的SEO(搜索引擎优化)方法已经不再足够,越来越多的企业开始探索如何将超快排SEO与社交媒体营销相结合,以实现更高效的…...
intv_ai_mk11入门必看:从健康检查到参数调优的完整使用手册
intv_ai_mk11入门必看:从健康检查到参数调优的完整使用手册 1. 认识intv_ai_mk11 intv_ai_mk11是一个基于Llama架构的中等规模文本生成模型,特别适合处理通用问答、文本改写、解释说明和简短创作等任务。这个模型最大的特点是开箱即用——开发者已经完…...
手把手教你修改Sense插件源码:解决Elasticsearch 6.0+的Content-Type报错
深度改造Sense插件:解决Elasticsearch 6.0的Content-Type兼容性问题 当Elasticsearch升级到6.0版本后,许多开发者发现原本运行良好的Sense插件突然开始报错。这个问题的核心在于HTTP请求头部的Content-Type规范变更,而旧版Sense插件并未及时适…...
Nanbeige4.1-3B vLLM弹性伸缩:K8s HPA基于QPS自动扩缩vLLM实例数
Nanbeige4.1-3B vLLM弹性伸缩:K8s HPA基于QPS自动扩缩vLLM实例数 1. 引言:当大模型服务遇上流量洪峰 想象一下这个场景:你刚把一个文本生成模型部署上线,用户反馈很好,访问量开始稳步增长。突然,某个营销…...
实测HeyGem数字人系统:如何用1段音频为100个商品批量生成讲解视频?
实测HeyGem数字人系统:如何用1段音频为100个商品批量生成讲解视频? 1. 电商视频制作的新革命 想象一下这样的场景:你是一家电商公司的运营负责人,本周有100个新品需要上架。按照传统方式,你需要安排模特拍摄、录音棚…...
用Chainlit快速搭建HY-MT1.5-1.8B翻译网页应用
用Chainlit快速搭建HY-MT1.5-1.8B翻译网页应用 1. 项目背景与目标 你是否遇到过需要快速搭建一个翻译应用的需求?无论是企业内部的多语言文档处理,还是个人项目的国际化支持,一个轻量级但功能强大的翻译工具都能大幅提升效率。今天我要介绍…...
openGauss 2.0.0在openEuler上的保姆级安装指南(含一键脚本)
openGauss 2.0.0在openEuler上的极速部署实战手册 在国产化技术生态快速发展的今天,openGauss作为企业级开源数据库的标杆产品,正受到越来越多开发者和企业的关注。本文将带你深入探索在openEuler操作系统上部署openGauss 2.0.0的全过程,不仅…...
WebGoat靶场通关后,我总结了这5个Docker环境下的实战避坑点(附完整命令)
WebGoat靶场通关实战:Docker环境下的5大避坑指南与高效解决方案 在网络安全学习与渗透测试实践中,WebGoat作为OWASP基金会推出的知名漏洞靶场,已成为安全从业者必备的实战平台。然而当我们将WebGoat部署到Docker环境时,往往会遇到…...
