在 Windows 10 注册表中设置默认的 pdf 查看器应用程序?

在 Windows 10 注册表中设置默认的 pdf 查看器应用程序?

------------------------------------更新------------------------------ 我尝试了第一个答案中的解决方案,但是,由于Hash用户选择不足,它不允许我编辑 foxitreader.document 的值


我安装了一个名为 FoxitReader 的 PDF 查看器应用程序。我可以在设置中将其定义为默认的 PDF 查看器应用程序,但我无法通过编辑注册表来设置它。

我尝试过:HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExt/.pdf

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

我还尝试了 HKEY_CURRENT_USER\Software\Classes\MIME\Database\Content Type\application/pdf 并将 CLSID 设置为 FoxitReader.Document 的 CLSID,

或者 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes.pdf\PersistentHandler 的 CLSID

或 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.pdf

这些确实将此应用程序添加到了“打开”列表中,但它们都不能将 FoxitReader 设置为默认 PDF 查看器。
当我双击 pdf 文件时,它仍然要求我选择一个应用程序来打开它,而不是直接在 FoxitReader 中打开它。

如何在注册表中将其设置为我的默认 PDF 查看器应用程序?

答案1

默认应用程序是HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice。正如您所说,OpenWithList 提供了为此文件类型注册的所有选项。在下面的示例中,它指向 PDFXCview.exe,而不是 Foxit。

请注意Applications\PDFXCview.exe使用间接,而不是可执行文件的绝对路径。Applications\PDFXCview.exe反过来,在 中定义HKEY_CLASSES_ROOT\Applications\PDFXCview.exe并引用\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts。 应该为每个已安装的应用程序(包括 Foxit)设置类似的关联。

PDF 默认应用程序

你可能会看看Nirsoft 的 FileTypesMan探索文件类型关联,这可以帮助您找到正确的注册表项。

答案2

我知道这是一个老问题,但无论如何我还是想贡献一个答案。您可以在 HKCR (HKEY_CLASSES_ROOT) 注册表配置单元下更改默认程序。

在 HKCR 下,找到您感兴趣的文件扩展名 (.pdf) 的注册表项。该项下应该有一个名为“(Default)”的字符串值。打开该值以指定您希望作为该文件类型默认应用程序的程序的程序 ID。

例如:要将 .pdf 的默认格式指定为 Foxit Phantom,您需要使用 Foxit 的程序 ID,即“FoxitReader.Document”。要更改为 Adob​​e Acrobat,则为“AcroExch.Document.DC”。

快速提示 - 每个文件键将包含一个名为“OpenWithProgids”的子键。该子键下列出的注册表值将代表已注册以打开该扩展的所有程序 ID。(即在 .pdf 下,您应该看到 FoxitReader.Document、AcroExch.Document.DC 以及您已安装的任何其他 PDF 阅读器/编辑器软件。)这不一定是所有程序的完整列表可以使用 - 但这是一个好的开始,并且应该包含可以安全使用的程序。

答案3

在接受的答案中,暗示应该更改ProgId键中注册表值的数据HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice。 这行不通,因为在 Windows 10 中,默认应用程序受一个Hash值的保护,该值会随着每次更改而更改UserChoice

避免这种情况的一种方法是使用设置用户FTA实用性,如上所述这里. 命令行将是

> SetUserFTA.exe .pdf Applications\PDFXCview.exe

答案4

这不是问题的答案,但我发现 Edge 多次接管了 PDF 扩展。

为了避免这种情况(并像 Windows 7 一样工作),请执行以下操作:

  • UserChoice已删除除之外的所有键HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf
  • 删除键内的所有值UserChoice
  • 将密钥的权限设置UserChoice为。denyEveryone

瞧!Edge 将不再接管您的 PDF。

相关内容