# 壁纸更换器 从 HTTP API 自动拉取壁纸并设置为 Windows 桌面背景,支持托盘常驻和桌面右键菜单。 ## 功能 - 托盘程序常驻,右键菜单手动/自动刷新壁纸 - 桌面右键菜单「刷新壁纸」一键更换 - 支持 API 直接返回图片二进制或 JSON 含图片 URL 两种模式 - 可配置填充方式(填充/适应/拉伸/平铺/居中) - 可配置缓存目录及最大缓存数量 - 可开关换壁纸后气泡通知 - 单实例运行,重复启动弹窗提示 - 首次运行自动创建配置和目录 ## 使用 ```powershell # 运行托盘程序 python main.py # 右键菜单刷新 python main.py --refresh # 安装桌面右键菜单(首次需要,从托盘菜单操作) 右键托盘 → 安装右键菜单 ``` ## 编译为 .exe ```powershell powershell -ExecutionPolicy Bypass -File build.ps1 ``` 产物:`dist/WallpaperChanger.exe` - 双击运行 → 启动托盘 - `WallpaperChanger.exe --refresh` → 拉取并设置壁纸后退出(右键菜单用) - 首次运行在同目录下自动创建 `config.json`、`cache/`、`logs/`、`assets/` ## 配置 `config.json` 字段说明: | 路径 | 类型 | 默认值 | 说明 | |---|---|---|---| | `api.url` | string | — | 壁纸 API 地址 | | `api.mode` | string | `direct` | `direct` 返回图片二进制 / `json` 返回 JSON | | `api.json_image_field` | string | `url` | JSON 模式下图片 URL 的字段名 | | `api.timeout` | int | `30` | 请求超时秒数 | | `wallpaper.fill_style` | string | `fill` | `fill`/`fit`/`stretch`/`tile`/`center` | | `wallpaper.cache_dir` | string | `./cache` | 壁纸缓存目录 | | `wallpaper.max_cache_files` | int | `10` | 最大缓存文件数 | | `wallpaper.show_notification` | bool | `true` | 换壁纸后是否弹气泡通知 | | `auto_refresh.enabled` | bool | `false` | 是否开启定时自动刷新 | | `auto_refresh.interval_minutes` | int | `10` | 自动刷新间隔分钟数 | ## 依赖 - Python 3.12+ - requests, pystray, Pillow