⭐ 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,一经查实,立即删除!

相关文章

2023HW部分笔试题

题目来源:卡码网 136. 字符串处理器 问题描述 时间限制:1.000S 空间限制:256MB 题目描述 产品代码需要设计一个带游标的字符串处理器,它需要实现以下功能: 插入:在游标所在处添加文本,其对应操作为 i…

AI时代,你的工作会被AI替代吗?

AI在不同领域的应用和发展速度是不同的。在智商方面,尤其是在逻辑推理、数据分析和模式识别等领域,AI已经取得了显著的进展。例如,在国际象棋、围棋等策略游戏中,AI已经能够击败顶尖的人类选手。在科学研究、医学诊断、股市分析等…

一分钟彻底掌握Java枚举

在Java编程语言中,枚举(Enum)是一种特殊的类,它包含了一组固定的常量。枚举常用于表示固定数量的常量值,例如一周的七天、四个基本方向(东、南、西、北)等。 0.浅显理解 枚举就像是一个特殊的…

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)语句语法格式&#…

【车载开发系列】瑞萨RH850单片机入门

【车载开发系列】瑞萨RH850单片机入门 【车载开发系列】瑞萨RH850单片机入门 【车载开发系列】瑞萨RH850单片机入门一. 瑞萨RH850概念二. 瑞萨RH850分类三. 瑞萨RH850的应用领域四. RH850和ARM的区别五. RH850内存概念1. Flash存储器2. RAM(随机访问存储器&#xff…

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

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

实验6 形态学图像处理

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

C语言 统计字符类型个数

这个程序读取用户输入的一行字符&#xff0c;并统计其中的英文字母、空格、数字和其他字符的个数。 #include <stdio.h> #include <ctype.h>int main() {char ch;int letters 0, spaces 0, digits 0, others 0;printf("输入一行字符: ");// 逐字符读…

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

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

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

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

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

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

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

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

C#高级语法之特性

自定义特性和使用 什么是特性 特性&#xff08;attribute&#xff09;是一种允许我们向程序的程序集增加元数据的语言结构&#xff0c;它是用于保存程序结构信息的某种特殊类型的类。 将应用了特性的程序结构叫做目标设计用来获取和使用元数据的程序&#xff08;对象浏览器&a…

Transformer详解encoder

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

【VScode】常用配置

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

1.linux操作系统CPU负载

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

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

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