我用Qt+Python实现了个监控QQ消息自动下载文件处理的办公外挂程序

article/2025/8/20 7:49:00

1,背景

公司生产的设备需要进行软件授权后,方可使用。

在合伙人里我负责软件这块,设计了一套授权机制,并管理授权工具。

操作过程很简单:申请人在监控软件上选择设备来申请授权,然后会生成一个申请文件,发给我之后,我用授权工具加载该文件,然后生成一个新的授权文件发给对方,对方在监控软件加载后设备即可正常使用了。

2,问题

刚开始一直都是我接受QQ发来的申请文件,手动操作,没觉得什么。后来,随着设备出货量越来越大,而且生产、售后等不同来源的申请人越来越多,授权这个小操作也变得越来越频繁,对我产生了不小的干扰。

然后我开始简化此操作,把所有需要申请授权的人拉到同一个QQ群,然后优化授权工具,监控QQ接收文件的目录,如果发现收到了新的申请文件(有特殊后缀)后,直接自动生成授权文件到桌面。这样我就只用在QQ上点击一下下载文件,几秒后在桌面就会出现对应的授权文件,我直接拖拽到QQ里发送即可。

再后来,有时候我不在公司或不在电脑旁时,或有时候交期太紧,生产部节假日加班生产设备,或我没看到消息,都会耽误及时授权。

于是我进一步,考虑开发一个不需要我操作,也能自动授权的工具。

3,解决方案

现在已经实现下载文件后,就自动生成文件了,只需要把两个地方自动化即可了:

一个监控QQ消息来自动下载

一个把生成的文件自动发送

这两个用python来处理。

监控QQ消息,最开始直观想到的方案是,图像识别,定时截图QQ聊天框,OCR识别文字来判断是否是需要授权的文件。后来用python的OCR库尝试了下,识别的准确率不太行。做不成精确逻辑。

后来一想,我只需要分辨当前是否有需要下载的文件即可。于是灵机一动,想到之前用过的python的图像相似度匹配功能。QQ的文件消息是一个特殊样式的矩形框:

我把它的部分区域,截取出来成为一个本地图片。然后定期在QQ聊天框收到文件消息的对应区域,匹配这个图片,匹配到就说明此时收到了一个文件类型的消息。直接调用鼠标移过去点击下载即可。

下载后就由之前的Qt授权工具(监控QQ收文件目录那个),自动授权然后生成授权文件到特定目录。

然后就是模拟自动发送功能了,我再监控这个生成目录,发现新的授权文件后,以资源管理器定位到该文件,选择该文件复制,再模拟点击激活QQ聊天框窗口后,调快捷键粘贴、发送。

4,实现效果

5,源码

资源已上传


http://www.hkcw.cn/article/qIJaniyxdx.shtml

相关文章

PortSwigger-04-cors

一:漏洞原理 1、简介 cors简称跨域资源共享:a页面想获取b页面的资源,如果a,b页面的协议、端口号、域名、子域名不相同的,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不…

2025年机械化设计制造与计算机工程国际会议(MDMCE 2025)

2025年机械化设计制造与计算机工程国际会议(MDMCE 2025) 2025 International Conference on Mechanized Design, Manufacturing, and Computer Engineering 一、大会信息 会议简称:MDMCE 2025 大会地点:中国贵阳 审稿通知&#…

游客在新加坡酒店吃榴莲被罚千元:要找专业人清洁房间残留的榴莲味道

5月26日,一位中国游客发视频称其到新加坡旅游,因为在酒店房间里吃榴莲被罚款200元新币(折合人民币1100多元)清洁费。她表示自己是第一次来新加坡旅游,不知道东南亚酒店常见的相关规定。酒店前台称,因为要找专业人士来清洁房间残留的榴莲味道,还需要空置好几天。事后该名…

技术栈ES的介绍和使用

目录 1. 全文搜索引擎(Elastic Search)的由来2. Elastic Search 概述2.1 Elastic Search 介绍2.2 Elastic Search 功能2.3 Elastic Search 特点 3. 安装 Elastic Search3.1 ES 的安装3.2 安装 kibana3.3 ES 客户端的安装 4. Elastic Search 基本概念4.1 …

乘客从胡塞客机上逃离画面!

乘客从胡塞客机上逃离画面。对民航下狠手!以色列炸毁胡塞最后一架客机,乘客纷纷从客机上逃离。而在5月6日,胡塞的客机均被以色列团灭,这是仅剩最后的一架客机,也难逃一劫。对民用航空都下此狠手,可以想象以色列有什么不敢干的?如果当时乘客再晚一步下飞机,后果将不堪设…

11 java语言执行浅析1

Java 是基于线程模型的语言,程序的执行是通过线程来调度和运行的。 一、Java 的最小执行单元:线程(Thread) 每个 Java 程序至少有一个主线程(main thread),它从 main() 方法开始执行。所有代码…

单调栈的例题与代码

首先,我们来看看例题: 给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1 。 输入格式: 第一行包含整数 N ,表示数列长度。第二行包含 N 个整数,表示整数数列…

事务Transaction

事务(Transaction)是数据库管理系统中的一个重要概念,它是一组操作的集合,这些操作要么全部成功,要么全部失败,以确保数据的完整性和一致性。 一、事务的特性(ACID) 原子性&#xf…

RPG改进1.轻击与重击的搭配与连续释放

这一篇做不做都可以,后面视频作者会做的 就比如,当玩家想abaaba/aabaab/ababaa/abababab/aaaba/baabaa等搭配的释放时,可以进行改进。 1.创建动画通知 2.打开攻击的蒙太奇,添加动画通知 3.打开LightAttackMaster,添加变量 4.打开…

MySQL 索引和事务

目录 一:MySQL 索引介绍 1:索引概述 2:索引作用 3:索引的分类 (1)普通索引 (2)唯一索引 (3)主键索引 (4)组合索引&#xff08…

MySQL 数据库操作

目录 一. MySQL 数据库介绍 二. MySQL 库操作 1.系统数据库 2.数据库操作 三. MySQL 表操作 1.表介绍 2.查看表 3.创建表 4.查看表结构 5.修改表 6.复制和删除 四. MySQL 数据操作 1.插入数据 INSERT 2.删除与更新 INSERT 4.查询数据 INSERT 单表查询 1.单表…

郑州首店停工?胖东来方面回应 工程正常对接中

随着于东来此前公布的胖东来郑州首店开业日期(2026年元旦)临近,网友愈发关注该超市的动态。近日,有网友发现该店的建设似乎停工了。跟不久前热热闹闹的地面部分施工现场相比,如今很难见到工人师傅的身影,甚至“中建七局”几个大字已被拆除。这让网友们开始担忧是否能按计…

女子穿高跟鞋跑步摔伤起诉健身房 责任划分引争议

女子穿高跟鞋跑步摔伤起诉健身房 责任划分引争议!一名女子穿着高跟鞋在健身房跑步机上跑步,不久后因跟不上跑步机速度而摔倒,导致十级伤残。她随后起诉健身房要求赔偿。然而,健身房跑步机旁的墙上贴有不能穿高跟鞋跑步的提醒。2024年3月8日,刘娜(化名)穿着高跟鞋进入益阳…

减肥走回家时家人会在路上迎接我

减肥走回家时家人会在路上迎接我。责任编辑:zx0002

沃尔沃高管谈汽车安全:不抢风头,只想多救一命

沃尔沃高管谈汽车安全。4月15日晚,全新一代沃尔沃XC90正式上线,限时尊享价从47.9万元起跳。这台顶着“旗舰SUV”光环的北欧大块头,不但没来啥夸张参数堆料,也没整那些炫酷得让人眼花缭乱的智能化噱头——它依然稳稳地押注在“安全”两个字上,用最不招摇的方式稳扎传统豪华…

主持人李彬因长期服药满头白发面部浮肿,却依旧保持乐观

5月29日,知名主持人李彬罕见露面发视频,视频中李彬满头白发声音沙哑向大家问好。此前,李彬曾自曝生病,需长期服用药物导致面部浮肿,却依旧保持乐观。李彬,出生于河北省衡水市,中国影视演员、主持人,曾主持《超级大赢家》。责任编辑:zx0002

.NET WinForm图像识别二维码/条形码并读取其中内容

需求:图像识别出一张图片中的二维码或者条形码,并读取其中内容。 一、安装库(特别注意,网上很多都没说清楚) 如果是基于.net framework,则安装ZXing.Net(建议0.14.0版本左右,具体看实际,版本太高,部分接口…

Java 注解与反射(超详细!!!)

Java 注解与反射(超详细!!!) 文章目录 Java 注解与反射(超详细!!!)1.注解1.1内置注解1.1.1 SuppressWarnings注解用法 1.2 元注解1.3自定义注解 2.反射2.1 反…

开关电源输出噪声--陶瓷 电解电容差异

对于LED恒流源驱动,输出只用电解电容,噪声大 对于LED恒流源驱动,输出用电解电容和陶瓷电容(C77& C78改成22uf陶瓷电容),噪声小到50 mV左右

【运维实战】定时任务-crontab命令

定时任务的应用场景 数据备份 定期对重要数据进行备份,是保障数据安全的重要手段。比如,我们可以设置每周日凌晨对整个数据库进行全量备份,或者每天对关键业务数据进行增量备份。这样,即便遇到硬件故障、误操作等意外情况&#…