Releases
1.3.3
1.3.3 大量安全性改进,支持mp3, flac
Compare
Sorry, something went wrong.
No results found
取消原有资源嵌入,大幅削减体积
支持 mp3、flac
修正 Win32 MSG 结构布局,消除 32 位目标潜在越界。
普通全局快捷键改用 RegisterHotKey + MOD_NOREPEAT:
删除低级键盘钩子。
防止按键重复连续切换。
退出时调用 UnregisterHotKey。
音频改为 rodio 应用内播放:
volume 只影响 Tip Clock。
不再修改 Windows 系统音量。
同秒多个声音按配置顺序排队播放。
自定义 WAV 限制在 EXE 目录,拒绝绝对路径、子目录和路径穿越。
修复 GDI/GDI+ 资源管理:
GDI API 改为链接正确的 gdi32。
检查 DC、DIB、位图数据指针和 SelectObject 结果。
保存并恢复原位图后再释放。
释放不透明度面板字体。
增加统一 GUI、GDI+、热键清理。
修复窗口销毁期间的重入死锁。
GUI 回调不再持有 GUI 锁时获取配置锁,消除锁顺序反转。
修复 UpdateLayeredWindow 的 SIZE FFI 参数类型。
ring = "none" 现在会静音显示提醒窗口。
修复无提醒时错误记录“已处理提醒”的逻辑。
调度改为检查两次轮询之间的时间范围,短暂阻塞不再轻易漏掉提醒。
“下次提醒”精确到秒,并标识次日提醒。
跳过计数改为饱和递增,避免整数回绕。
空日程现在是合法配置;全部日程无效时明确报错,不再静默恢复默认日程。
缺失的 [general] 字段使用默认值。
配置字符串使用 TOML 转义,避免引号或反斜杠破坏文件。
配置使用临时文件、刷新和 ReplaceFileW 原子替换。
EXE 目录不可写时自动使用:
%LOCALAPPDATA%\TipClock\config.toml
已存在的便携配置会在首次回退时迁移。
自动启动命令正确引用 EXE 路径,并检查注册表 API 返回值。
重启启动失败不再静默退出。
菜单构建和打开配置失败增加明确错误处理。
DPI 优先使用 Per-Monitor V2,并处理 WM_DPICHANGED。
修复 GDI+ 点大小的重复 DPI 缩放。
窗口布局使用显示器工作区:
支持多显示器负坐标。
避开任务栏。
确保完整窗口位于最近显示器工作区。
同步README 中不透明度控件、音量、配置回退及自定义 WAV 说明
You can’t perform that action at this time.