Repository navigation
WindowMark v0.5.2
⚠ 双击没反应?先做这一步
解压之前:右键下载的 zip →「属性」→ 勾选底部的「解除锁定」→ 确定,然后再解压。
已经解压过、双击毫无反应的:先退出 WindowMark,对 zip 做上面的操作后重新解压。
为什么会这样
WindowMark 的 exe 没有数字签名。从网上下载的文件带着「来自网络」标记,双击时要先过 SmartScreen:
- SmartScreen 按下载量积累的「信誉」决定要不要弹「Windows 已保护你的电脑」。新版本刚发布、信誉还没攒起来,就会弹。
- 这个警告弹窗本身是个系统组件。在 LTSC / IoT 企业版(精简掉了这类组件),或者系统更新装了一半、这个组件在崩溃的机器上,连警告都弹不出来 —— 表现就是双击毫无反应,以管理员身份运行也一样。
这也解释了「老版本能用、新版本全都不行」:老版本发布得早、信誉够了,不会触发警告。如果某个新版本已经在后台跑着,老版本启动时发现「已在运行」会把消息转给它然后退出 —— 于是托盘里看到的版本号是新的那个,更让人摸不着头脑。
新增:WindowMarkDiag.exe 诊断工具
程序在跑、但边框没画出来(或者别的不对劲),双击 WindowMarkDiag.exe。报告会存到桌面并复制到剪贴板,直接粘贴发给开发者就行。
报告开头的「发现的问题」通常已经说明了原因,常见的几种:
| 报告里说 | 意思 |
|---|---|
| 前台窗口是最大化的 | 最大化的窗口按设计不画边框(v0.4.9 起) |
| border.enabled=false | 边框功能被关掉了 |
| 每一个的整圈边框都被遮挡计算裁掉了 | 有个看不见的窗口挡在所有窗口前面,报告会点名是谁 |
| 截不到这个会话的屏幕 | 远程桌面最小化或锁屏时运行的,换个能看到桌面的时候再跑一次 |
| 目录里有 N 个 exe 带「来自网络」标记 | 就是上面「双击没反应」那件事 |
报告里凡是「WindowMark 会怎么判断」的部分,调用的都是 WindowMark 自己的代码(配置解析、窗口资格判断、桌面快照、边框规划),不是另写的一套规则,所以不会和程序的实际行为对不上。
只读、不改任何设置;不收集窗口标题;路径里的用户目录会换成 %USERPROFILE%。
修复
- 发布包里的
measure-shadow-inset.ps1在普通中文 Windows 上跑不起来:脚本是无 BOM 的 UTF-8,Windows PowerShell 5.1 按系统代码页读,中文把引号吃掉,整个脚本解析失败。含中文的脚本全部加上了 BOM。 - 从源码构建:在系统代码页为 936 的机器上编译不过(核心库漏了
/utf-8,资源编译器也需要 UTF-8 代码页),改成全局设置。
安装:按上面的方法解除锁定后解压,运行 WindowMarkSetup.exe;不想安装就直接运行解压目录里的 WindowMark.exe。升级会保留现有配置。
SHA256(WindowMark-v0.5.2-win64.zip):E3F607CB1F39FDE6AB6CDC0BC3149702CE36F68F5426C5CFB7AD339ECD3682DD
完整变更见 CHANGELOG.md。