Где в Windows хранятся настройки «Открыть с помощью»? - PullRequest
28 голосов
/ 13 октября 2010

Я пытаюсь программно проверить ассоциации файлов по расширению (например, .jnlp файлы).Я продолжаю читать, что

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

- это ключ реестра для проверки.Однако, если вы измените связь через Windows Explorer:

Открыть с помощью> Выбрать программу> (Всегда использовать выбранную программу)

, изменение не отражаетсяв этом ключе реестра.Где еще хранится эта информация?

Ответы [ 3 ]

25 голосов
/ 13 октября 2010

Взгляните на:

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

, и подключем этого является добавленное вами расширение.В соответствии с этим будут вложенные ключи UserChoice и OpenWithList, которые будут содержать ваше переопределение.

Вы также можете прочитать http://support.microsoft.com/kb/950505, в котором говорится о вашей проблеме.

5 голосов
/ 13 октября 2010

Это поиск из двух частей.

Сначала вы ищите значение по умолчанию HKEY_CLASSES_ROOT \ [file_extension].Для ваших расширений, .jnlp, значение равно "JNLPFile".Давайте назовем это [file_descriptor].

Теперь вы можете посмотреть значение по умолчанию HKEY_CLASSES_ROOT \ [file_descriptor] \ Shell \ [action] \ command (где [action] - действие оболочки, которое вас интересует,например: Открыть, Печать, Изменить и т. д.).

3 голосов
/ 13 октября 2010

Вкл .:

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

Совет: Правка> Найти очень удобно в таких ситуациях.:)

...