ファイル拡張子によるファイルの関連付けをプログラムで確認しようとしています(たとえば、.jnlp
ファイル)。私はそれを読み続けます
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 を読んで、あなたの問題について話すこともできます。
これは2つの部分からなるルックアップです。
最初に、HKEY_CLASSES_ROOT\[file_extension]のデフォルト値を検索します。拡張子.jnlpの場合、値は「JNLPFile」です。これを[file_descriptor]と呼びましょう。
これで、HKEY_CLASSES_ROOT\[file_descriptor]\Shell\[action]\commandのデフォルト値を検索できます([action]は、対象のシェルアクションです。例:開く、印刷、編集など)。
オン:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList
ヒント:これらの状況では、[編集]> [検索]が非常に便利です。 :)