⭐ UI自动化工具轻松实现微信消息提醒 ⚡

🌿🌿🌿🌿🌿🌿 演示效果 🌿🌿🌿🌿🌿🌿

😅😅😅😅😅😅 Python安装掠过 😅😅😅😅😅😅

 ⭐⭐⭐⭐⭐⭐ 安装uiautomation框架 ⭐⭐⭐⭐⭐⭐

pip install uiautomation

🐳🐳 🐳 🐳 🐳 🐳   代码  🐳 🐳 🐳 🐳 🐳 🐳 

import timeimport uiautomation as uianow_time = lambda : time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 当模块作为主程序运行时,执行以下代码
if __name__ == '__main__':# 初始化微信窗口对象wechat = uia.WindowControl(ClassName='WeChatMainWndForPC')# 用于记录每个好友的聊天窗口文本模式,以便后续比较chat_record = {}# 标志变量,用于控制第一次运行的逻辑first_run = True# 无限循环,持续监控微信会话列表的变化while True:# 每隔1秒检查一次time.sleep(1)# 尝试获取会话列表,如果失败则重试try:# 获取微信会话列表控件session_list = wechat.ListControl(searchDepth=20,maxSearchSeconds=1, Name='会话')# 获取会话列表的所有子项,即各个会话窗口childrens = session_list.GetChildren()except LookupError:# 如果找不到会话列表,打印错误信息并重试print('会话列表获取失败')session_list = Nonechildrens = None# 如果会话列表或其子项为空,则继续下一次循环if session_list is None or childrens is None:continue# 遍历每个会话,记录每个会话的特定文本模式if childrens is not None or len(childrens) > 0:for item in childrens:# 获取好友名称friend_name = item.Name# 获取特定的文本模式,这里的路径可能需要根据UI结构调整text_patten = item.GetChildren()[0].GetChildren()[1].GetChildren()[1].GetChildren()[0].Name# 如果该好友已存在于记录中,且文本模式已改变,则打印更新信息if chat_record.__contains__(friend_name):if chat_record[friend_name] != text_patten:if not first_run:print(now_time() + " " +friend_name + ":" + text_patten)# 如果该好友不存在于记录中,且不是第一次运行,则打印新增信息else:if not first_run:print(now_time() + " " +friend_name + ":" + text_patten)# 更新或新增好友的文本模式记录chat_record[friend_name] = text_patten# 控制第一次运行的标志,使得之后的运行可以进行比较first_run = not first_run if first_run else first_run

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 SWD烧写

最小电路 stm32f103x 内部已经集成了振荡电路,可以省略;rst引脚电路,可以省略,boot0,boot1不需要设置 正常烧录 -------------------------------------------------------------------STM32CubeProgrammer v2.9.0 …

使用 go-control-plane 自定义服务网格控制面

写在前面 阅读本文需要最起码了解envoy相关的概念 本文只是一个类似于demo的测试,只为了学习istio,更好的理解istio中的控制面和数据面(pilot -> proxy)是如何交互的,下图的蓝色虚线 先说go-control-plane是什么…

nginx 1024 worker_connections are not enough while connecting to upstream

现象 请求api响应慢,甚至出现504 gateway timeout,重启后端服务不能恢复,但重启nginx可以恢复。 解决方案 worker_connections使用了默认值 1024,当流量增长时,导致连接不够 在nginx.conf中修改连接数就可以了&…

小白学python(第四天)顺序与分支篇

这几天因为个人原因,python篇会更新比较慢,还望大家谅解,那么废话不多说,我们现在就进入正题 顺序篇 这个没啥好说的,就是自上而下,依次执行 分支篇 条件(if)语句语法格式&#…

【C++】————string基础用法及部分函数底层实现

作者主页: 作者主页 本篇博客专栏:C 创作时间 :2024年6月30日 前言: 本文主要介绍STL容器之一 ---- string,在学习C的过程中,我们要将C视为一个语言联邦(摘录于Effective C 条款一&#x…

实验6 形态学图像处理

1. 实验目的 ①掌握数字图像处理中,形态学方法的基本思想; ②掌握膨胀、腐蚀、开运算、闭运算等形态学基本运算方法; ③能够利用形态学基本运算方法,编程实现图像去噪,边界提取等功能。 2. 实验内容 ①调用Matlab /…

PMBOK® 第六版 结束项目或阶段

目录 读后感—PMBOK第六版 目录 不论是阶段的收尾还是项目整体的收尾,都应是令人振奋的事。然而,在实际生活中,收尾工作却相当艰难。会遭遇负责人调离、换任,导致不再需要已购产品;项目收尾时对照招标文件或合同&…

51-61 CVPR 2024 最佳论文 | Rich Human Feedback for Text-to-Image Generation

23年12月,加州大学圣地亚哥、谷歌研究院、南加州大学、剑桥大学联合发布Rich Human Feedback for Text-to-Image Generation论文。 作者受大模型中RLHF技术的启发,用人类反馈来改进Stable Diffusion等文生图模型,提出了先进的RichHF-18K数据…

足球虚拟越位线技术FIFA OT(一)

此系列文章用于记录和回顾开发越位线系统的过程,平时工作较忙,有空时更新。 越位线技术 越位技术已被用于图形化分析足球中潜在的越位情况。 自 2018 年将视频助理裁判 (VAR) 引入比赛规则以来,人们越来越关注准确确…

完美世界|单机版合集(共22个版本)

前言 我是研究单机的老罗,今天给大家带来的是完美世界的单机版合集,一共22个版本。本人亲自测试了一个版本,运行视频如下: 完美世界|单机版合集 先看所有的版本的文件,文件比较大,准备好空间,差…

Transformer详解encoder

目录 1. Input Embedding 2. Positional Encoding 3. Multi-Head Attention 4. Add & Norm 5. Feedforward Add & Norm 6.代码展示 (1)layer_norm (2)encoder_layer1 最近刚好梳理了下transformer,今…

【VScode】常用配置

1.indenticator 增加白色竖条,显示方法范围 2.Git Graph 给git变换分支增添颜色区分 3.Vue 系列 vue 系列:给纯白色代码添加 颜色区分 3.eslint eslint警告,比如{ } 只写了半个会标红提示错误 等错误信息提示 需要配置js等页面 非下…

1.linux操作系统CPU负载

目录 概述CPU平均负载查看平均负载结束 概述 CPU 使用率 和CPU 平均使用率。 CPU平均负载 单位时间内系统处于 [可运行状态] 和 [不可中断状态] 的平均进程数,就是平均活跃进程数,和CPU使用率并没有直接关系 可运行状态 正在使用CPU或者正等待CPU的进…

【Elasticsearch】linux使用supervisor常驻Elasticsearch,centos6.10安装 supervisor

背景: linux服务器,CentOS 6操作系统,默认版本python2.6.6,避免安装过多的依赖不升级python 在网上查的资料python2.6.6兼容supervisor版本 3.1.3 安装supervisor 手动在python官网下载supervisor,并上传到服务器 下…

Linux_动、静态库

目录 一、静态库 1、静态库的概念 2、制作静态库的指令 3、制作静态库 4、链接静态库 二、动态库 1、动态库的概念 2、制作动态库的指令 3、制作动态库 4、链接动态库 5、动态库的加载 三、静态库与动态库的区别 结语 前言: 在Linux下大部分程序进…

【JavaEE】多线程代码案例(1)

🎏🎏🎏个人主页🎏🎏🎏 🎏🎏🎏JavaEE专栏🎏🎏🎏 🎏🎏🎏上一篇文章:多线程(2…

Android Studio环境搭建(4.03)和报错解决记录

1.本地SDK包导入 安装好IDE以及下好SDK包后,先不要管IDE的引导配置,直接新建一个新工程,进到开发界面。 SDK路径配置:File---->>Other Settings---->>Default Project Structure 拷贝你SDK解压的路径来这,…

ros笔记01--初次体验ros2

ros笔记01--初次体验ros2 介绍安装ros2测试验证ros2说明 介绍 机器人操作系统(ROS)是一组用于构建机器人应用程序的软件库和工具。从驱动程序和最先进的算法到强大的开发者工具,ROS拥有我们下一个机器人项目所需的开源工具。 当前ros已经应用到各类机器人项目开发中…

操作符详解(下) (C语言)

操作符详解下 操作符的属性1.优先级2.结合级 表达式求值1.整型提升2.如何进行整形提升呢?3.算术转换4.问题表达式解析 操作符的属性 C语言的操作符有2个重要的属性:优先级、结合性,这两个属性决定了表达式求值的计算顺序。 1.优先级 优先级…

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示