Windows 在哪里存储其“打开方式”设置?

Posted

技术标签:

【中文标题】Windows 在哪里存储其“打开方式”设置?【英文标题】:Where does Windows store its "Open With" settings? 【发布时间】:2011-04-24 21:30:48 【问题描述】:

我正在尝试通过文件扩展名(例如.jnlp 文件)以编程方式检查文件关联。我一直在读

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command

是要检查的注册表项。但是,如果您通过 Windows 资源管理器更改关联:

打开方式 > 选择程序 >(始终使用所选程序)

更改根本没有反映在此注册表项中。这些信息还存储在哪里?

【问题讨论】:

【参考方案1】:

看看:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

其子键是您重新分配的扩展名。在此之下将有 UserChoice 和 OpenWithList 子键,其中将包含您的重新定义。

您可能还想阅读 http://support.microsoft.com/kb/950505 讨论您的问题。

更新

从 Windows 8 开始,生活变得更加复杂。要创建扩展关联,需要计算自定义哈希。

幸运的是,有人对该过程进行了逆向工程,并创建了一个 PowerShell 脚本来执行此操作,而无需通过任何 GUI。

您可以在以下 GitHub 链接中找到它:

https://github.com/DanysysTeam/PS-SFTA

【讨论】:

【参考方案2】:

这是一个由两部分组成的查找。

首先,您查找 HKEY_CLASSES_ROOT\[file_extension] 的默认值。对于您的扩展名 .jnlp,该值为“JNLPFile”。我们称之为 [file_descriptor]。

现在您可以查找 HKEY_CLASSES_ROOT\[file_descriptor]\Shell\[action]\command 的默认值(其中 [action] 是您感兴趣的 shell 操作,例如:打开、打印、编辑等) .

【讨论】:

【参考方案3】:

开启:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList

提示:编辑>Find 在这些情况下非常方便。 :)

【讨论】:

以上是关于Windows 在哪里存储其“打开方式”设置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows上设置文件的默认打开方式

如何修改在钉钉里的默认打开方式?

在哪里设置默认浏览器

不小心用windows图片查看器打开了bin文件

在电脑终端中输入命令,是在哪里输入啊,怎么打开

笔记本电脑摄像头怎么打开?