Windows RegEdit 隐藏和保护条目

Windows RegEdit hides and protects entries

我想重置使用“打开方式”对话框创建的文件关联。 我在 Windows 7 ULT。 我已将 *.part 文件与 VLC.exe 相关联,我可以看到该关联是通过 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part.[=23= 下的特殊“UserChoice”条目完成的]
但是,我只能通过使用 Win32 API 浏览注册表项和值的特殊注册表搜索工具来查看。我在“Windows 注册表编辑器”又名 RegEdit 中看不到该条目。 Regedit 间接知道这个密钥,因为如果我尝试使用路径 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part 创建一个新的 reg 密钥,RegEdit 说密钥 .part 已经存在(这是真的)。​​

我也可以使用 cmdline 工具 reg.exe 通过以下方式删除此密钥: reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part" /f /va 如果密钥不存在,reg.exe 将打印出一条错误信息。 无论如何,密钥并没有真正被删除,因为我可以一遍又一遍地重复命令,这表明密钥仍然存在。同样在 Windows Explorer 中,如果我 select 一个 *.part 文件并检查文件关联,它说它仍然与 VLC.exe 关联。所以好像是被删了就立马恢复了,说明有保护机制。

所以简单的问题是:
我如何才能真正删除此注册表项以及如何重置此文件关联?
而且,可选地,我怎样才能让 RegEdit 显示它? 我不想使用“打开方式”对话框更改它,因为它会在 ...FileExt.part
下创建另一个 UserChoice 条目 但我的目标是 向 .part 文件添加多个命令 我可以通过右键单击上下文菜单 select
这过去通过简单地将扩展与 progid 相关联并将您想要的命令添加到 ProgId 的 Shell 子项来工作。

有任何线索吗?

物有所值...
我终于找到了在我的本地 RegEdit 安装中没有显示密钥 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part 的原因。 以及为什么我因此无法使用 RegEdit 修改/删除它。

出于某种原因,在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\ 中,我的 reg 子键的名称中带有方括号 ,例如:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.02]

由于 RegEdit 似乎使用此字符作为元字符来表示键名的结尾,因此它似乎无法正确显示所有后续子键。它仅显示按字母顺序排在名称中带有“]”的第一个键之前的键。

我通过将整个 FileExt 密钥导出到 reg 文件中实现了这一点。
而且我还可以使用 reg 文件删除这些垃圾条目。 至于如何使用reg文件删除reg条目见:How to delete registry subkeys using a .reg file

所以现在我终于可以将其他条目添加到 part_auto_file 键 并显示在上下文菜单中甚至执行。干杯。