Skip to content

FileRemarks v1.14 — Shift+F2 快捷键 + 修好覆盖安装

Choose a tag to compare

@DVLZY DVLZY released this 01 Nov 15:22
· 4 commits to main since this release

FileRemarks v1.14

本次改动

1. 快捷键改成 Shift+F2

在资源管理器里选中一个文件,按 Shift+F2 直接弹出它的备注窗口。

  • 只注册一个普通组合键(RegisterHotKey(MOD_SHIFT | MOD_NOREPEAT, VK_F2)),没有键盘钩子、不拦截、不模拟按键。
  • 常驻进程 FileRemarksHotkey.exe 开机自启(HKCU\Software\Microsoft\Windows\CurrentVersion\Run),单实例。
  • 没选中文件时什么也不做,不会乱猜路径;多选时只取第一个(本工具不做批量)。

2. 修好「覆盖安装」

以前的症状:已经装过之后再运行安装包、点「重新安装」,会弹出

无法替换正在使用的文件:
C:\Users\<你>\AppData\Local\FileRemarks\FileRemarksPropHandler.dll
错误码 0x00000005 / 0x00000005
请先注销或重启电脑,再运行本安装程序。

只能先卸载再重装。

根因:FileRemarksPropHandler.dll 被 explorer.exe 加载着。正在使用的映像既不能覆盖,也不能改名——所以「先把旧文件改名成 .old 再写新文件」的补救对加载中的 DLL 无效。

修法:改成按版本目录安装。

%LOCALAPPDATA%\FileRemarks\
├── FileRemarksSetup.exe        ← 卸载器(固定路径)
├── app-1.14\                   ← 本次安装的程序
│   ├── FileRemarksEditor.exe
│   ├── FileRemarksHotkey.exe
│   ├── FileRemarksPropHandler.dll
│   └── FileRemarksShellExt.dll
└── app-1.14-2\                 ← 同版本再装一次就换到这里

同版本重复安装会继续退让成 app-1.14-2、app-1.14-3…,注册项始终指向最新目录,旧目录在下次启动时删除。
于是安装过程永远不碰正在使用的文件:覆盖安装不再需要重启,也不再需要先卸载。

装完之后资源管理器里生效仍然需要重启一次资源管理器(或注销重登录)——这是 Windows 对已加载 shell 扩展的固有行为,和「能不能装」是两件事。

安装

  1. 下载 FileRemarks_Setup_v1.14.exe,双击。
  2. 窗口里会显示 当前已安装版本 和 要安装的版本。
  3. 点「重新安装」/「安装」。
  4. 不需要管理员权限,不会弹 UAC,也不会弹 SmartScreen「发行者未知」。

卸载:同一个 exe,点「卸载」。

从旧版本升级

v1.13 及更早装在 %LOCALAPPDATA%\FileRemarks\ 根目录(扁平布局),v1.14 开始用版本目录。
两者可以共存;装完 v1.14 后旧文件会在下次启动时清掉。

v1.8 及更早是机器级安装(C:\Program Files\FileRemarks),需要管理员权限才能删,安装器会在完成提示里提醒。

仍然只对 NTFS 有效

备注存在文件的 NTFS 附加数据流里(<文件>:remark),文件改名/移动(同一分区内)备注跟着走。
FAT32/exFAT 盘、以及部分网络位置不支持附加数据流,那些地方的备注会保存失败并给出提示。

从源码构建

见仓库里的 README.md「自己编译」一节:需要 MinGW-w64(g++ 支持 C++17)。

校验

sha256  见下方 release 资产