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

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

http://www.lryc.cn/news/258454.html

相关文章:

  • android 13.0 系统属性控制音量键功能是否可用开关(屏蔽音量加减功能)
  • hive自定义函数及案例
  • 2023亚太五岳杯量子计算挑战赛数学建模思路代码模型论文
  • Tomcat的结构分析和请求处理原理解析
  • FastAPI之响应模型
  • Python数据科学视频讲解:数据清洗、特征工程和数据可视化的注意事项
  • Unity优化——加速物理引擎1
  • PHP的最新版本是多少?有什么新特性?
  • 漏洞复现-云安宝-云匣子Fastjson命令执行(附漏洞检测脚本)
  • oh-my-zsh 安装和配置
  • LinuxBasicsForHackers笔记 -- 日志系统
  • WPS Office JS宏实现批量处理Word中的标题和正文的样式
  • 论文怎么改才能降低重复率
  • 【从零开始学习JVM | 第六篇】快速了解 直接内存
  • Wireshark中的http协议包分析
  • ubuntu如何远程ssh登录Windows环境并执行测试命令
  • 人工智能应用专栏----专栏介绍
  • 【lesson11】表的约束(4)
  • 将单体应用程序迁移到微服务
  • Python读取.dat格式数据并转为.png,.jpg,.bmp等可视化格式(附代码)
  • matplotlib 默认属性和绘图风格
  • ip地址怎么转化为十进制
  • 【Spring进阶系列丨第五篇】详解Spring中的依赖注入
  • DAP数据集成与算法模型如何结合使用
  • 大数据监控
  • 【C语言】数据结构——小堆实例探究
  • Vue中比较两个JSON对象的差异
  • 前端知识库Html5和CSS3
  • 智能优化算法应用:基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • Apollo配置发布原理解析