Skip to content

Releases: DVLZY/FileRemarks

FileRemarks v1.23

Choose a tag to compare

@DVLZY DVLZY released this 03 Nov 17:32

FileRemarks v1.23

给任意文件在 Windows 资源管理器里加一列“备注”。本版为 v1.23 完整发布,安装包见下方 Assets。

下载与安装

  1. 下载 FileRemarks_Setup_v1.23.exe(约 4.6 MB)。
  2. 双击运行;安装与卸载需要管理员权限,会弹一次 UAC。
  3. 装完重启资源管理器(或注销重登录),文件夹列表里就会出现“备注”列。

系统要求:Windows 10 / 11,文件位于本地 NTFS 分区。覆盖安装不需要先卸载,旧备注不会丢。

本次发布包含的改动

  • v1.18:结果反馈闭环——保存/失败/安装结果统一提示,失败原因可见,不再静默。
  • v1.19:备注列默认启用,安装后自动追加到通用、文档、图片、下载、音乐、视频六类默认视图;卸载时还原安装前的列设置。
  • v1.20 / v1.20.1:修复真机上 .doc / .ppt(老式 OLE 二进制)备注列不显示;注册表收敛——被 pin 的扩展名记录 HadKey,通配符原值备份到 Software\FileRemarks\Original\Wildcard,卸载只在“原本不存在或值仍是我们的”前提下删除。
  • v1.21:支持 0 字节的 .docx / .pptx(资源管理器“新建”出来尚未保存),由本工具直接解析 docProps/core.xml 与 docProps/app.xml;备注优先读 :remark 数据流,非法 zip、加密、超大、被占用、缺 docProps 一律回落到数据流,不会拖垮资源管理器。
  • v1.22:编辑窗口改为“失焦即保存并关闭”;保存失败不关窗、显示原因可重试;空备注不写盘直接关闭;Esc 仍为真取消。
  • v1.23:注册表守卫进一步收紧——安装阶段删除当前用户通配符项前先做值匹配,避免误删第三方写入的同名键;与 Windows Terminal 的右键菜单注册面完全隔离。

文档

  • 精简版 README.md:功能、用法、限制、常见问题。
  • docs/implementation-notes.md:安装布局、注册表与实现细节。
  • docs/README-full-backup.md:旧版完整 README(历史版本流水、测试记录、调试过程)。
  • 许可:MIT,见仓库根 LICENSE。

校验

sha256  63a9f61cee8845ee23fc76b3bf92791097d0f9b3518913d6ac4d6e770a98e8ce

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

Choose a tag to compare

@DVLZY DVLZY released this 01 Nov 15:22

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 资产

FileRemarks v1.13

Choose a tag to compare

@DVLZY DVLZY released this 01 Nov 11:17

这是什么

给任意格式的文件在 Windows 资源管理器里加一列「备注」——就是文件名、类型、大小旁边那种真正的文件属性,
不是快捷方式,也不是另建的数据库。

  • 右键任意文件 → 编辑备注,输入内容,关掉窗口就自动保存
  • 资源管理器里「备注」列默认就显示,保存后立刻刷新,不用按 F5
  • 支持 exe / png / jpg / doc / docx / py / md / txt / zip / 7z … 全格式
  • 选中文件按 Ctrl+Alt+E 直接呼出备注窗口
  • 免管理员安装(装在当前用户目录,注册表写 HKCU),不会弹 SmartScreen「发行者未知」

安装

  1. 下载本 Release 里的 FileRemarks_Setup_v1.13.exe
  2. 双击 → 点「安装」(不需要管理员权限,不会弹 UAC)
  3. 装完重启一下资源管理器(或注销重登录)就能看到「备注」列

如果是从浏览器下载的,Windows 可能仍提示「发行者未知」——那是文件带了「来自网络」的标记,
右键 exe → 属性 → 勾选「解除锁定」→ 确定,再双击即可。

它在你机器上改了什么

位置 内容
%LOCALAPPDATA%\FileRemarks\ 4 个程序文件
备注本体 每个文件自己的 NTFS 附属数据流 :remark(跟着文件走:改名/移动不会丢;删除文件备注一起消失)
HKCU\Software\Classes\ 属性处理器 + 右键菜单的注册项(当前用户级)
HKCU\Software\FileRemarks\ 卸载时用来还原「备注」列的备份
HKCU\...\Run\FileRemarksHotkey Ctrl+Alt+E 那个常驻小程序的自启项

安装器自带卸载(双击同一个 exe → 点「卸载」),会把上面这些都撤掉。

从源码构建

# 需要 MinGW-w64(g++)在 PATH 里;或用 MSVC:tools/build_msvc.bat
bash tools/build_mingw.sh
# 产物:build/ 与 dist/,安装包为 dist/releases/FileRemarks_Setup_v<版本>.exe

说明

  • 全部为原生 Win32 C++(无运行时依赖,静态链接),编辑器是手绘 GDI 界面
  • 备注存在 ADS 里,所以只对 NTFS 卷有效,复制到 FAT32/exFAT 的 U 盘会丢备注
  • 右键菜单一次只处理一个文件(本工具不做批量编辑)
  • 完整设计说明、验证方法与 15 个测试脚本 + 5 个回归探针见仓库 README.md