首页
友链
推荐
红枫百科[AI]
Windows系统激活
Search
1
QQ9.7.20永久禁止(QQ/NT)自动更新
72 阅读
2
DnF台服:账号任务实现演示
33 阅读
3
记录CentOS系统下检测端口访问并记录访问日志的教程
25 阅读
4
DNF台服:增幅附加值随机增长
23 阅读
5
DNF台服:新职业转职变更卷
23 阅读
闲言碎语
运维笔记
教程笔记
AI智能体
网站源码
其他源码
值得一看
DNF台服
登录
/
注册
Search
Gcn
累计撰写
71
篇文章
累计收到
0
条评论
首页
栏目
闲言碎语
运维笔记
教程笔记
AI智能体
网站源码
其他源码
值得一看
DNF台服
页面
友链
推荐
红枫百科[AI]
Windows系统激活
搜索到
31
篇与
的结果
2025-07-30
Python实现的微信进群检测(防骚扰、防捣乱、防同行)
摘要:为了监控捣乱者、骚扰者、同行等人群加入微信群,我写了一个监控,实时监控这个人有没有偷偷混进群,如果检测到,就给你手机发送通知。import uiautomation as automation import requests import time def send_results(results, url): payload = {"results": results} try: response = requests.post(url, json=payload) if response.status_code == 200: print("---检测结果已发送至服务器---") else: print(f"发送失败,状态码: {response.status_code}") except requests.RequestException as e: print(f"发送请求时发生错误: {e}") def get_filtered_controls_at_depth(control, target_depth, filter_strings, bypass_strings, current_depth=0, detected_controls=None): if detected_controls is None: detected_controls = set() results = [] try: if current_depth == target_depth: # 如果控件名称包含任何绕过字符串,则跳过该控件 if any(bypass_string in control.Name for bypass_string in bypass_strings): return results # 如果控件名称包含任何过滤字符串且该控件未被检测过,则添加到结果中 if any(filter_string in control.Name for filter_string in filter_strings) and control.Name not in detected_controls: # 只返回控件内容 results.append(control.Name) detected_controls.add(control.Name) except Exception as e: print(f"处理控件信息时发生错误: {e}") try: children = control.GetChildren() for child in children: results.extend(get_filtered_controls_at_depth(child, target_depth, filter_strings, bypass_strings, current_depth + 1, detected_controls)) except Exception as e: print(f"获取子控件时发生错误: {e}") return results def monitor_chat_window(target_depth, filter_strings, bypass_strings, interval, url): detected_controls = set() while True: try: # 获取名为 "ChatWnd" 的窗口 window = automation.WindowControl(ClassName="ChatWnd") if window.Exists(0, 0): results = get_filtered_controls_at_depth(window, target_depth, filter_strings, bypass_strings, detected_controls=detected_controls) # 打印结果 if results: for result in results: print(result) send_results(result, url) else: # 移除每次循环中输出的 "持续为您监控中..." pass except Exception as e: print(f"主循环中发生错误: {e}") send_results(f"主循环中发生错误: {e}", url) # 等待指定的时间间隔 time.sleep(interval) if __name__ == "__main__": # 配置参数 target_depth = 12 # 检测的控件的深度(这里是固定的检测进群记录就是深度12别修改) filter_strings = ["Gcn"] # 要检测的字符串 bypass_strings = ["移出了群聊"] # 要绕过检测的字符串 interval = 1 # 检测的频率(秒) url = "https://xxxxxxxxx" # 接收监控结果的URL try: print("持续为您监控中...") # 只输出一次 # 开始监控 monitor_chat_window(target_depth, filter_strings, bypass_strings, interval, url) except KeyboardInterrupt: print("检测程序被中断,正在退出...") # 发送中断信息到服务器 send_results("检测程序被中断", url) print("程序已退出")这段代码的主要功能是通过监控名为 “ChatWnd” 的窗口,检查控件的名称是否包含特定的过滤字符串,并将检测结果通过 HTTP POST 请求发送到指定的URL,其背后的原理是通过 Python uiautomation 这个库去读取微信电脑版界面的控件去解析到具体的信息。如何使用打开微信电脑版你要监控的群单独拉出来在代码中的【要检测的字符串】中配置你要检测的微信用户昵称配置接收通知的URLCMD运行python程序即可开始检测整个过程请保持你要监控的群是不关闭的状态(最小化是可以的)打开微信电脑版你要监控的群单独拉出来CMD运行python程序即可开始检测接收到通知
2025年07月30日
10 阅读
0 评论
0 点赞
2024-12-18
Nginx如何隐藏网址中的php后缀名
首先打开nginx.conf配置文件;添加如下内容:location / { ttry_files $uri $uri/ $uri.php$is_args$args; }这样,我们在访问网站时nginx会自动将网址中的.php替换删减掉,就可以实现隐藏后缀名.php的效果。小科普:try_files是nginx中的一个指令,有点类似于rewrite,用于尝试寻找指令后面指定路径的文件或目录并返回。$uri表示当前请求的URI路径,也就是URL域名后面的路径,不带参数。$ is_args表示如果请求的URL中带有参数,则$is_args代表的是“?”,如果请求的URL中没有参数则返回空字符串,用于传参用。$args表示请求URL中的完整的参数。
2024年12月18日
17 阅读
0 评论
0 点赞
2024-12-18
为网页图片加上loading="lazy"延迟加载资源(懒加载)
那么问题来了,哪些场景业务需要用到图片懒加载技术呢?答:当前页面图片元素过多,避免不必要的流量浪费;如果不是需要加载很多图片的话那还是不要用了,影响用户体验~使用方法<img src="load.jpg" loading="lazy" alt="Hello" />你没看错,和普通的img标签相比,只多出了loading="lazy"这个属性,就是这么简单;它就是今天所要了解的主角。可选值loading="lazy" loading="eager"lazy 懒加载,即:延迟获取资源。eager 立即加载,即:缺省值,你不加这个loading属性,它默认就是这个。
2024年12月18日
19 阅读
0 评论
0 点赞
2024-12-18
一行命令在Linux和Window生成任意大小文件
Linux:使用dd命令,一般系统都会自带,不需要额外安装;格式为:dd if=/dev/zero of=要生成的文件 bs=读入的block大小 count=读取的block个数示例:在/home目录下创建一个后缀名为“.log”的文件100MB大小 dd if=/dev/zero of=/home/100.log bs=1M count=100 1GB大小 dd if=/dev/zero of=/home/1024.log bs=1M count=1024 10GB大小 dd if=/dev/zero of=/home/10240.log bs=1M count=10240Windows:使用fsutil命令,Windows已自带了这个命令,直接使用即可;以管理员身份运行“命令提示符”或“Windows 终端”命令的格式为:fsutil file createnew 新文件名 文件大小示例:在D盘根目录下创建一个名为“pjax.log”的文件(这里注意一下,路径使用反斜杠)1MB大小 fsutil file createnew D:\pjax.log 1048576 100MB大小 fsutil file createnew D:\pjax.log 104857600 1GB大小 fsutil file createnew D:\pjax.log 1073741824
2024年12月18日
12 阅读
0 评论
0 点赞
2024-12-18
版本号命名规范
版本号的格式为 X.Y.Z(又称 Major.Minor.Patch),递增的规则为:X 表示主版本号,当 API 的兼容性变化时,X 需递增。Y 表示次版本号,当增加功能时(不影响 API 的兼容性),Y 需递增。Z 表示修订号,当做 Bug 修复时(不影响 API 的兼容性),Z 需递增。详细的规则如下:X, Y, Z 必须为非负整数,且不得包含前导零,必须按数值递增,如 1.9.0 -> 1.10.0 -> 1.11.00.Y.Z 的版本号表明软件处于初始开发阶段,意味着 API 可能不稳定;1.0.0 表明版本已有稳定的 API。当 API 的兼容性变化时,X 必须递增,Y 和 Z 同时设置为 0;当新增功能(不影响 API 的兼容性)或者 API 被标记为 Deprecated 时,Y 必须递增,同时 Z 设置为 0;当进行 bug fix 时,Z 必须递增。先行版本号(Pre-release)意味该版本不稳定,可能存在兼容性问题,其格式为:X.Y.Z.a-c,如 1.0.0.a1,1.0.0.b99,1.0.0.c1000。开发版本号常用于 CI-CD,格式为 X.Y.Z.dev[正整数],如 1.0.1.dev4。版本号的排序规则为依次比较主版本号、次版本号和修订号的数值,如 1.0.0 < 1.0.1 < 1.1.1 < 2.0.0;对于先行版本号和开发版本号,有:1.0.0.a100 < 1.0.0,2.1.0.dev3 < 2.1.0;当存在字母时,以 ASCII 的排序来比较,如 1.0.0.a1 < 1.0.0.b1。注意:版本一经发布,不得修改其内容,任何修改必须在新版本发布!一些修饰的词:alpha:内部版本beta:测试版demo:演示版enhance:增强版free:自由版full version:完整版,即正式版lts:长期维护版本release:发行版rc:即将作为正式版发布standard:标准版ultimate:旗舰版upgrade:升级版
2024年12月18日
8 阅读
0 评论
0 点赞
1
...
5
6
7