编辑:(不再适用,问题重新打开)。
为什么这不是链接问题的重复?
从问题的角度看:据我所知(现在我已经应用了解决方案,因此无法测试),就我而言,我设置的默认应用程序更改从未生效。在链接的问题中,标题表明它在当前会话期间有效。
从答案角度来看:那里的解决方案几乎不适用于此处。(即使它有效,我从概念上认为它们不应被视为重复,但这并不重要)。
社区的观点:从实际角度来看,如果标记为重复会降低找到该 OP 的机会,那么对于遇到类似问题的其他人来说可能会造成不利影响...搜索参数可能与其他 OP 的搜索参数(相当?)不同。
我在 Win 10 中安装了 Adobe Acrobat X 和 Adobe Acrobat Reader DC,并且我希望我的 PDF 文件默认应用程序(例如在资源管理器中双击打开文件的应用程序)是 Adobe Acrobat X仅适用于我的用户。
- 我没有找到办法让它工作通常的方式[设置→应用→默认应用程序],当我双击 PDF 时,它会使用 Acrobat Reader DC 打开 [西班牙语]:
- 我可以右键点击→打开用→ Adobe Acrobat 如果我选择选择其他应用相反,我看到的是与上面的截图一致的:
- 我尝试更改以下注册表项,现在默认应用程序是 Edge;到目前为止,我无法恢复此操作:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\OpenWithList\MRUList
有什么方法可以解决这个问题吗?通过注册表或其他方法?
可能相关:
- 在 Windows 10 中为受保护的文件类型配置默认应用程序
Windows 10 中的新注册表设置UserChoice
可能控制此行为 - 无法更改 Windows 10 中编辑脚本的默认应用程序
- 在 Windows 10 中手动添加要打开的程序
- 在 Windows 10 注册表中设置默认的 pdf 查看器应用程序?
- 如何将 Adobe Acrobat Pro 或 Acrobat Reader 设置为 Windows 10 用户的默认 .pdf 应用程序?
- 设置默认 PDF 查看器
- 设置默认 PDF 查看器
- 安装 Acrobat Reader DC 后无法将 Acrobat 9 设为默认(此条目建议使用“强力”方法更改指向的可执行文件
HKEY_CLASSES_ROOT\AcroExch.Document.DC\shell\Read\command
) - DISM 默认应用程序关联服务命令行选项
- Windows 10 – 设置 PDF 默认应用程序 – 文件关联
- 修复“应用程序默认值已重置” Windows 10 重置文件关联
- 如何在应用程序设置时关联默认程序(例如 pdf 文件)
答案1
每个用户的默认应用程序是通过注册表项定义的
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice
。
但是,由于受保护Hash
条目的影响,无法直接设置它。如果哈希值与 Progid 不一致,Windows 会将其重置为默认条目。
为了避免创建哈希值的麻烦,请使用 SetUserFTA 实用程序。该实用程序的描述和下载请见文章
SetUserFTA:UserChoice Hash 被击败 – 在 Windows 8/10 和 2012/2016/2019 上设置每个用户或组的文件类型关联。
答案2
harrymc 描述的方法设置用户FTA,效果很好。要更改关联,必须输入
> SetUserFTA.exe .pdf <ProgID>
我花了一些时间才找到关键点,那就是 Adobe Acrobat 的正确 ProgID。我找到它的方法是搜索注册表acrobat.exe
(启动regedit.exe
,然后按 <Ctrl>+f -> acrobat.exe
,勾选所有 3 个复选框)。
我发现键HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.eps\UserChoice
包含值(作为名称/数据)Hash
/<hash> 和ProgId
/Applications\Acrobat.exe
所以我执行了
> SetUserFTA.exe .pdf Applications\Acrobat.exe
瞧,Acrobat 是默认应用程序。我通过交替执行上述操作和
> SetUserFTA.exe .pdf AcroExch.Document
其中 Acrobat 和 Reader 交替作为默认应用程序。
请注意,每次执行上述命令后,值的数据Hash
都会发生变化,即使是相同的值数据也是如此ProgId
。这是的“保护”作用Hash
,也是需要使用SetUserFTA.exe
或替代方法而不是直接更改值的数据的原因ProgId
。