2010-10-13 147 views
21

我想通过文件扩展名(例如.jnlp文件)的编程方式检查文件关联。我一直在读Windows在哪里存储“Open With”设置?

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

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

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

的变化没有反映在此注册表项。这些信息还存储在哪里?

回答

22

看一看在:

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

与该子键就是你重新分配了扩展。在那之下将会有UserChoice和OpenWithList子键,它们将包含你的重定义。

您可能还需要阅读http://support.microsoft.com/kb/950505其中谈到您的问题。

2

在:

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

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

4

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

首先,你抬头HKEY_CLASSES_ROOT \ [FILE_EXTENSION]的默认值。对于您的扩展名.jnlp,其值为“JNLPFile”。我们称之为[file_descriptor]。

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