WinTips
WinTips
Windows 11 风格的键盘状态提示工具:按下 Caps Lock / Num Lock / Scroll Lock(及复制/粘贴/剪切)时,在任务栏上方弹出 Win11 质感的亚克力浮窗。
特性
- 锁键提示:Caps/Num/Scroll Lock 与 Insert,挂锁图标随开关旋转回弹,底部强调色指示条,上滑淡入/下滑淡出。
- 剪贴板提示:Ctrl+C / V / X 弹出对勾或剪刀图标,右侧「×N」徽章记录连续操作;仅在剪贴板真正更新后提示。
- 系统材质:DWM 亚克力 + 系统圆角 + 深浅色与强调色跟随系统,高 DPI 自适应。
- 不打扰:点击穿透、不抢焦点、不进任务栏和 Alt+Tab,停留 1–5 秒(可调)自动淡出。
- 设置窗口:Win11 设置风格,即改即存;浮窗位置可选左/中/右。
- 托盘常驻、单实例、无第三方依赖(WPF + WinForms,.NET 10)。
使用
直接运行 WinTips.exe,托盘出现图标即在工作。
- 托盘左键 → 设置;右键 → 菜单(含测试提示)。
- 命令行:
--settings打开设置;--test caps on 4测试提示;--test menu预览菜单。 - 设置保存在
%APPDATA%\WinTips\settings.json。
构建与发布
需要 .NET 10 SDK(Windows)。
# 调试运行
dotnet build -c Release
# 发布单文件 exe(无 .NET 依赖,约 70 MB)
dotnet publish -c Release -r win-x64 --self-contained true `
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true `
-p:EnableCompressionInSingleFile=true -o publish
一键重建:双击根目录的
rebuild.bat(自动结束旧进程 → 发布 → 重新启动)。
已知限制
- Insert 提示为事件式,不显示开/关状态(Windows 不在系统层维护该状态)。
- 提示只出现在主显示器。
- 低级键盘钩子收不到发往提权(管理员)窗口的按键。
致谢
浮窗外观与动效复刻自 FluentFlyout(GPL-3.0)的 LockWindow 设计,代码为独立实现。