这些桌面工具,是我把"凡是机器能做的事,就不该让人来做"这句话落到实处的最终形态。市面上的软件要么功能冗余,要么缺我想要的那一项,要么把数据锁在云端。而自己写一个,功能可增可删、数据完全本地、不联网也能跑。
从最早的 C + Win32 API 手写窗口,到 Python + PyQt6 快速构建功能完整的工具,再到近年用 Tauri + Rust 把工具做成跨平台、体积小、启动快的现代桌面应用——这条线从未中断。它们全部为个人深度定制,没有任何一款投入市场,仅为爱好与实用而作。
🖼️ 图片与媒体
• 相册三尺寸生成器(Python + PyQt6)
一键为批量图片生成相册所需的三套尺寸:orig 长边 2560px、large 长边 1200px、thumb 280×280 居中裁剪。支持保留 EXIF、子目录扫描、保持目录结构、暂停/继续/取消、质量可调。为个人相册系统配套开发。
• 图片智能批处理器(Python + PyQt6)
支持五种尺寸模式(长边/短边/宽高/正方形/百分比)、格式转换(JPEG/PNG/WEBP/BMP)、质量调节、文字水印、重命名规则(序号/日期/自定义前缀)、EXIF 保留、预览模式。自动识别真实文件格式并修正扩展名,处理 RGBA → JPEG 的透明通道问题。
• 桌面音乐播放器(Python + PyQt6)
支持 MP3/WAV/FLAC/OGG/M4A,手动解析 ID3v1/ID3v2 标签(含 GBK 乱码修复),LRC 歌词滚动,10 段均衡器(流行/摇滚/古典/爵士预设),混响切换,频谱可视化,单曲/列表循环,系统音量控制。
📄 文件与文本
• 批量文件替换器(Python + PyQt6)
支持多行匹配、通配符(? 匹配单字符、* 匹配任意字符,均含换行)、编码自动检测(chardet)、自动备份原文件、规则导入导出(JSON)、预览修改、删除空行、合并多个空格。解决批量修改 HTML/PHP 源码的重复劳动。
• 文档智能处理器(Tauri + Rust)
批量查找替换文本内容,支持正则、多行匹配、完整单词匹配、自动编码检测,三种输出模式(覆盖原文件 / 保存到 _processed / 添加 _new 后缀)。
• 文件时间管理器(Tauri + Rust)
基于文件名 / EXIF 拍摄时间 / 自定义时间批量管理文件时间,支持目录树勾选、拖入文件、三种输出模式(重命名+修正时间 / 仅重命名 / 仅修正时间)。
• 按时间格式批量重命名(Tauri + Rust)
按修改时间 / EXIF 拍摄时间 / 文件名时间批量重命名,支持 6 种命名模式、随机串、自定义前缀、子目录、撤销脚本、随机秒偏移。
⚙️ 效率与备份
• 增量备份工具(Python + PyQt6)
只存变化文件,记录删除,恢复时自动叠加版本链。支持版本清理、恢复、删除、排除文件夹(node_modules、.git 等)。对比规则:版本 1 全量,版本 N 只存变化。为个人项目数据安全开发。
• 倒计时闹钟(Python + PyQt6)
倒计时 + 闹钟二合一。内置合成铃声(提示音/鸟鸣声/经典闹钟),支持本地铃声、无限循环/指定次数、系统托盘、设置持久化。到点弹窗提醒并响铃。
• 个人事务管理器(Tauri + Rust)
集待办、备忘、联系人、记账流水、番茄计时、快捷收藏、计划列表、每日一句、数据看板、数据管理于一体的桌面应用。
🖥️ 早期工具
C + Win32 API 系列(C / Win32 API)
早期用纯 C 和 Win32 API 手写窗口、消息循环、控件、文件操作,理解桌面程序的底层机制。这些工具功能不复杂,但为后续用更高级语言和框架开发桌面应用打下了扎实的基础——知道每个按钮背后发生了什么,知道消息是怎么传递的,知道文件句柄是怎么打开的。
从 C 到 Python,从 Win32 API 到 PyQt6 再到 Tauri + Rust,语言和框架在变,但内核一致:用桌面程序把人从重复劳动中解放出来,数据在自己手里,功能完全按需定制。