Skip to content

WindowMark v0.5.2

Choose a tag to compare

@yakoye yakoye released this 14 Sep 12:30
· 29 commits to main since this release

⚠ 双击没反应?先做这一步

解压之前:右键下载的 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。