我想通过文件扩展名(例如.jnlp
文件)的编程方式检查文件关联。我一直在读Windows在哪里存储“Open With”设置?
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command
是要检查的注册表项。但是,如果您更改通过Windows资源管理协会:
打开方式>选择程序>(始终使用选择的程序)
的变化没有反映在此注册表项。这些信息还存储在哪里?
我想通过文件扩展名(例如.jnlp
文件)的编程方式检查文件关联。我一直在读Windows在哪里存储“Open With”设置?
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command
是要检查的注册表项。但是,如果您更改通过Windows资源管理协会:
打开方式>选择程序>(始终使用选择的程序)
的变化没有反映在此注册表项。这些信息还存储在哪里?
看一看在:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
与该子键就是你重新分配了扩展。在那之下将会有UserChoice和OpenWithList子键,它们将包含你的重定义。
您可能还需要阅读http://support.microsoft.com/kb/950505其中谈到您的问题。
在:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList
提示:编辑>查找在这些情况下,非常方便。 :)
这是由两部分组成的查找。
首先,你抬头HKEY_CLASSES_ROOT \ [FILE_EXTENSION]的默认值。对于您的扩展名.jnlp,其值为“JNLPFile”。我们称之为[file_descriptor]。
现在您可以查找默认值HKEY_CLASSES_ROOT \ [file_descriptor] \ Shell \ [action] \ command(其中[action]是您感兴趣的shell操作,例如:打开,打印,编辑等。 )。