Windows在哪里存储“Open With”设置?

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

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

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

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

此更改完全不反映在此registry项中。 这些信息还存储在哪里?

看看:

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

而这个子键是你重新分配的扩展名。 在那之下将会有UserChoice和OpenWithList子键,它们将包含你的重定义。

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

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

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

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

上:

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

提示:编辑>查找在这些情况下非常方便。 🙂