2010-10-13 119 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操作,例如:打開,打印,編輯等。 )。