您现在的位置是:亿华云 > 应用开发
使用 Python 读取 QQ 消息
亿华云2025-10-09 05:08:14【应用开发】5人已围观
简介使用 Python 读取 QQ 消息上一篇文章 《使用 Python 自动发送 QQ 消息》 发出以后,很多朋友非常感兴趣。还有朋友提出来了,有没有办法取到 QQ 的消息,是不是需要用抓屏,OCR 的
使用 Python 读取 QQ 消息
上一篇文章 《使用 Python 自动发送 QQ 消息》 发出以后,使用很多朋友非常感兴趣。消息还有朋友提出来了,使用有没有办法取到 QQ 的消息消息,是使用不是需要用抓屏,OCR 的消息方法?
其实不用的,微软定义了一套接口 UI Automation 用来自动化测试界面,使用或者提供给无障碍软件调用,消息方便残疾人使用 Windows 程序。使用既然它能自动化测试界面,消息也就是使用说能取到界面里的所有东西,要不然怎么测试呢。消息
但是使用,并不是消息所有软件都支持UIA。国外的使用大公司的软件,或者使用标准界面的程序都是支持的。出于方便残疾人使用软件的角度上考虑,支持这套接口在有些国家是法律强制、网站模板或者建议的。但是国内没有相关规定,国内的软件几乎都不支持,可是腾讯的 QQ 竟然支持!
腾讯的软件做还是非常好的,最少在国内来说它还是非常规范的。先放个避雷针,没准哪天腾讯找来删这篇文章了。
感谢 yin kaisheng 的 uiautomation,把 UIA 封装的这么好用。
首先安装必须的库
pip install uiautomation然后 打开 QQ 的消息窗口,这里只是演示,要是用程序打开消息窗口就比较麻烦,这里就不介绍了。

#导入必须的库
import uiautomation as auto#找到消息窗口。消息窗口的 ClassName=TXGuiFoundation,源码库但是 QQ 主窗口的的类名也是这个。所以需要再增加一个参数作为区分 Name=哈哈 ,这是消息窗口的名字,和对方的 QQ 昵称一样。
qq_win = auto.WindowControl(searchDepth=1, ClassName=TXGuiFoundation, Name=哈哈)#先试着找到输入消息的编辑框,看看能不能取到里面的文字。如果 QQ 窗口是合并的,可能会有多个编辑框,这时需要设置函数 EditControl 的 foundIndex 来取其它编辑框。
input_edit = qq_win.EditControl() print(input_edit.Name) print(input_edit.GetValuePattern().Value) #打印编辑框内的文字#历史消息在 QQ 里是一个 list,list 会有很多 Children。Children 的 Name 就是历史消息的文字部分了。
msg_list = qq_win.ListControl() #找到 list items = msg_list.GetChildren() for one_item in items: #遍历所有的 Children print(one_item.Name) #打印消息现在可以看到效果了吧。

这个例子只是简化的企商汇示例,大家快试试吧。没准哪天这篇文章就被删了。点个关注!收藏!谢谢!!
很赞哦!(12962)
上一篇: CNAME:对应解析的记录值为域名地址
下一篇: 公司和个人选域名方法一样吗?有什么不同?
相关文章
- 4、域名传输时,取决于域名原始用户的邮箱是否有效,以及他是否将密码发送到此邮箱。
- 一篇带给你PostmangRPC功能使用介绍
- 聚类算法在 D2C 布局中的应用
- Python基础之序列类型的方法——列表&元组
- 公司在注册域名时还需要确保邮箱的安全性。如果邮箱不安全,它只会受到攻击。攻击者可以直接在邮箱中重置密码并攻击用户。因此,有必要注意邮箱的安全性。
- 聊聊主流前端框架更新批处理方式
- 5种Java数据计算层的解决方法
- 在Docker和Kubernetes上运行MongoDB微服务
- 互联网其实拼的也是人脉,域名投资也是一个时效性很强的东西,一个不起眼的消息就会引起整个域名投资市场的动荡,因此拓宽自己的人脉圈,完善自己的信息获取渠道,让自己能够掌握更为多样化的信息,这样才更有助于自己的域名投资。
- Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享