一款 Windows 壁纸守护工具,自动锁定并恢复桌面壁纸,支持后台静默运行、开机自启与远程自动更新。
• 壁纸出处
- 壁纸自动守护:定时检测壁纸变更,自动还原预设壁纸
- 远程自动更新:独立更新进程,无感升级主程序
- 开机自启:注册表静默配置,无需手动设置
- 单实例锁:互斥进程保护,防止重复运行
- 后台静默运行:无窗口、无弹窗,常驻后台
无法肘击非正版Win7定期将壁纸修改为黑色的机制(反盗版机制) 因为无法修改纯色
- 系统:Windows 7 / 8 / 10 / 11
- 占用:约 25MB(主程序+更新程序)
- 权限:普通用户权限(需读写注册表、设置壁纸)
- 网络:可选,仅自动更新功能需要
如需适配 Win7,打包 Python 版本必须 ≤3.8(推荐 3.8.10)。 高版本打包会出现缺失系统 DLL、
_winapi加载失败等问题。
目前客户端与更新服务端均未实现任何鉴权与校验机制,存在服务器地址被劫持、伪造返回恶意安装包的风险;请务必保证更新服务器完全可信,建议仅在内网局域网环境内部署使用,若自行使用非可信公网服务器产生安全风险与相关损失,作者不承担任何责任。
同一目录保留以下文件:
WallpaperGuardian.exe主程序Update.exe自动更新程序(可选)
双击主程序即可,自动生成配置、设置壁纸、开启守护与更新检测。
pip install -r requirements.txtpython main.pywallpaper_guard/
├── main.py # 主程序入口
├── update.py # 更新程序入口
├── requirements.txt # 依赖列表
├── config.json # 自动生成配置
├── resources/ # 默认壁纸资源 已弃
├── wallpaper/ # 2026.6.7 已将壁纸目录移至此处
├── dist/ # 打包输出
├── build/ # 打包临时文件
└── uninstall.bat # 卸载脚本
主程序:
pyinstaller --onefile --windowed --name=WallpaperGuardian main.py更新程序:
pyinstaller --onefile --windowed --name=Update update.py开发调试可去掉 --windowed 查看控制台日志。
首次启动自动生成 config.json:
{
"remote_host": "http://localhost:8000",
"current_version": "1.2.0"
}remote_host:更新服务根地址current_version:本地版本号
如需重置配置,直接删除文件重启即可自动重建。
- 更换壁纸:在 /wallpaper/ 目录下覆盖
wallpaper.jpg - 停止程序:任务管理器结束对应进程,或使用
uninstall.bat杀死 - 卸载:运行
uninstall.bat,会自动杀死进程、清理注册表,随后需手动删除程序文件
- 主程序后台拉起独立更新进程
- 读取本地配置,请求服务端版本接口
- 比对版本,有新版自动下载临时文件
- 终止旧进程、替换程序文件、更新配置版本
- 拉起新版主程序,更新进程自动退出
服务端支持返回新版本地址、版本号或仅退出指令,适配自建更新服务。
- 守护期间会强制还原壁纸,临时更换请先退出程序
- 安全软件若拦截注册表/网络请求,建议加入信任列表
- 请勿随意删除配置文件与资源目录
- 无效果:检查资源完整性、文件权限与控制台日志
- 不开机自启:核对注册表 Run 项是否生成
- 更新失败:检查网络、服务地址配置与防火墙拦截
- 修改壁纸存储路径从 resources 目录到 wallpaper 目录
- 添加壁纸文件存在性检查,启动时验证 wallpaper.jpg 是否存在
- 当壁纸文件缺失时显示错误提示并退出程序
- 更新 README 中的壁纸路径说明和打包命令
- 移除已弃用的技术亮点章节内容
- 日志系统重构,替换原生 logging 为自定义轻量日志
- 精简代码、降低资源占用与磁盘 I/O
- 优化启动流程与进程日志转发逻辑
其余历史版本迭代详见 CHANGELOG.md
本项目采用 MIT 开源协议,可自由使用与二次开发。
