【发布时间】:2020-09-13 05:59:36
【问题描述】:
我想重置文件关联,使用“打开方式”对话框创建。
我在 Windows 7 ULT 上。
我已将 *.part 文件与 VLC.exe 关联,我可以看到此关联是通过 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part 下的特殊“UserChoice”条目完成的。
但是,我只能通过使用 Win32 API 浏览注册表项和值的特殊注册表搜索工具看到这一点。我在“Windows 注册表编辑器”又名 RegEdit 中看不到该条目。
Regedit 间接知道此密钥,因为如果我尝试使用路径 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part 创建一个新的 reg 密钥,RegEdit 表示密钥 .part 已经存在(这是真的)。
我也可以使用命令行工具 reg.exe 通过以下方式删除此密钥:
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.part" /f /va
如果密钥不存在,reg.exe 将打印出错误消息。
无论如何,密钥并没有真正被删除,因为我可以一遍又一遍地重复该命令,这表明密钥仍然存在。同样在 Windows 资源管理器中,如果我选择 *.part 文件并检查文件关联,它说它仍然与 VLC.exe 关联。所以它似乎在我删除的任何时候都会立即重新创建,这表明有保护机制。
所以简单的问题是:
如何才能真正删除此注册表项,如何重置此文件关联?
并且,可选地,我怎样才能让 RegEdit 显示它?
我不想使用“打开方式”对话框更改它,因为它会在 ...FileExt.part
下创建另一个 UserChoice 条目
但我的目标是向 .part 文件添加多个命令,我可以通过右键单击上下文菜单进行选择。
这曾经通过简单地将扩展与 progid 相关联并将您想要的命令添加到 ProgId 的 Shell 子键来工作。
有没有线索?
【问题讨论】:
-
我知道这不会有帮助,但是,我能够在 Win10 Home 中创建密钥和子密钥。查找 .part 将类型指向一个部分文件,该文件是在下载时使用一些选择的程序(如 Mozilla)创建的。只是好奇你为什么要使用这个分机而不是别的东西。
-
其他使用 *.part 扩展名进行部分下载的程序也将元数据信息存储在具有(双)扩展名 *.part.met 的文件中。我有一个脚本,可以从 *.part.met 文件中提取并显示我感兴趣的元数据,并且我想将此脚本与 *.part 文件相关联。它曾经可以添加诸如“HKCR\Part_auto_file\Shell\ExtractMeta\Command”之类的东西,但是这个“UserChoice”事物及其创建的条目禁用了这种将命令与文件扩展名相关联的标准机制......
标签: windows registry file-association