KeepWindow 是一个 Windows 窗口防误关闭工具。它通过系统菜单保护标准标题栏,也可以用鼠标遮罩拦截自绘标题栏的关闭按钮。
从 Releases 下载最新的 Windows x64 压缩包,解压后运行 keep-window.exe。
运行要求:Windows 10 1703 或更新版本,x64。目标程序以管理员身份运行时,KeepWindow 也可能需要以管理员身份运行。
关闭或最小化主界面、按 Alt+F4 都只会隐藏 KeepWindow,保护会继续运行。也可以直接启动到后台:
.\keep-window.exe --background
在选中窗口并设置保护方式后,展开“规则”并保存即可。规则支持以下匹配条件:
规则默认不自动保护新窗口,可在“更多 → 应用规则管理”中编辑、启用、禁用或删除。
配置文件位于:
%LOCALAPPDATA%\KeepWindow\config.json
系统关闭项修改前会写入恢复记录。KeepWindow 正常退出时清理记录;异常退出后再次启动,会校验窗口句柄、进程身份、完整路径和窗口属性,只恢复能够安全匹配的窗口。
无法安全匹配的记录会保留为残留文件,损坏的恢复记录会先备份。恢复失败项会保留,供下一次启动重试。鼠标遮罩随 KeepWindow 进程退出而消失,不参与恢复。
后台启动错误记录在:
%LOCALAPPDATA%\KeepWindow\startup-error.log
Alt+F4、程序自己的退出命令、自定义快捷键、直接发送关闭消息或结束进程不受鼠标遮罩保护。需要 Rust stable MSVC 工具链、Visual Studio Build Tools 的“使用 C++ 的桌面开发”组件和 Windows SDK。
git clone https://github.com/NeterAlex/KeepWindow.git
cd KeepWindow
cargo build --release
.\target\release\keep-window.exe
提交前建议运行:
cargo fmt --check
cargo clippy --locked --all-targets --all-features -- -D warnings
cargo test --locked --all-targets --all-features -- --test-threads=1
交互思路参考 PettterWang/NOCLOSE。