------------------------------------更新------------------------------ 我尝试了第一个答案中的解决方案,但是,由于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)设置类似的关联。
你可能会看看Nirsoft 的 FileTypesMan探索文件类型关联,这可以帮助您找到正确的注册表项。
答案2
我知道这是一个老问题,但无论如何我还是想贡献一个答案。您可以在 HKCR (HKEY_CLASSES_ROOT) 注册表配置单元下更改默认程序。
在 HKCR 下,找到您感兴趣的文件扩展名 (.pdf) 的注册表项。该项下应该有一个名为“(Default)”的字符串值。打开该值以指定您希望作为该文件类型默认应用程序的程序的程序 ID。
例如:要将 .pdf 的默认格式指定为 Foxit Phantom,您需要使用 Foxit 的程序 ID,即“FoxitReader.Document”。要更改为 Adobe Acrobat,则为“AcroExch.Document.DC”。
快速提示 - 每个文件键将包含一个名为“OpenWithProgids”的子键。该子键下列出的注册表值将代表已注册以打开该扩展的所有程序 ID。(即在 .pdf 下,您应该看到 FoxitReader.Document、AcroExch.Document.DC 以及您已安装的任何其他 PDF 阅读器/编辑器软件。)这不一定是所有程序的完整列表可以使用 - 但这是一个好的开始,并且应该包含可以安全使用的程序。
答案3
答案4
这不是问题的答案,但我发现 Edge 多次接管了 PDF 扩展。
为了避免这种情况(并像 Windows 7 一样工作),请执行以下操作:
UserChoice
已删除除之外的所有键HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf
。- 删除键内的所有值
UserChoice
。 - 将密钥的权限设置
UserChoice
为。deny
Everyone
瞧!Edge 将不再接管您的 PDF。