kesike.eth
· 全文 980 字符
时光倒数:把配置写进 exe 的 Windows 倒计时日历
简介#
时光倒数是一款 Windows 桌面倒计时日历,支持倒数、正计时和每年重复的纪念日。提供浅色、深色、跟随系统主题,中英双语界面,窗口缩放与迷你模式。所有配置保存在 exe 内部,不生成外置配置文件。项目提供 C# 与 Rust 两个功能等价版本。
功能与用法#
- 指定日期与时分秒,支持倒数、正计时、自动判断
- 每年重复的纪念日,显示下一次日期、周年数、年度进度
- 浅色 / 深色 / 跟随系统主题
- 中文 / English 实时切换
- 窗口自由缩放、迷你模式、置顶
- 可选开机启动
用法:
- 下载并运行 exe
- 点击“新建日子”,设置标题、日期、时间、模式、颜色
- 需要每年纪念日时打开“每年重复”
- 保存后正常关闭窗口,配置会写回 exe
注意:exe 需放在有写权限的目录,否则无法保存配置。
两个版本:
- C# 版约 125 KB,依赖 Windows 10/11 自带的 .NET Framework 4.8
- Rust 版约 3.58 MB,完全自包含,无运行时依赖
技术栈#
- C# 版:WinForms + 自绘 GDI+ 界面,目标 .NET Framework 4.8,使用 Roslyn 编译
- Rust 版:eframe / egui 0.31、serde、serde_json、chrono,Windows GNU 目标,静态链接自包含
- 配置存储:exe 尾部追加 magic + 长度 + UTF-8 JSON + CRC32
- 写回机制:退出时由临时 helper 进程重试替换原 exe,使用
MoveFileExW - 开机启动:写入
HKCU\Software\Microsoft\Windows\CurrentVersion\Run,C# 版额外回退到启动文件夹快捷方式
实现特点#
- 无外置配置、无安装器、无注册表应用数据,单文件即可运行
- C# 界面完全自绘,不依赖第三方 UI 库
- Rust 版自包含,不依赖 .NET 或 VC 运行库
- 主题跟随系统实时切换,中英文案、日期格式、编辑器同步切换
- 周年逻辑处理 2 月 29 日,按当年天数收敛
- 首次周年显示创建到首次发生的时间进度,之后显示年度进度
- 窗口边框、拖动、边缘缩放、迷你模式均为自绘/原生 viewport 实现
- 项目采用 GPL-3.0 许可证
GitHub#
https://github.com/Kesike03/shiguang-countdown
Release 下载:
https://github.com/Kesike03/shiguang-countdown/releases/latest
已存证 · 比特币区块 #974,817 · 2026年11月6日 14:49