Где Windows хранит настройки "Открыть с"?
Я пытаюсь программно проверить ассоциации файлов с помощью расширения файла (например, .jnlp
файлов). Я продолжаю читать, что
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command
- это ключ реестра для проверки. Однако, если вы измените связь через проводник Windows:
Открыть с помощью > Выбрать программу > (Всегда использовать выбранную программу)
изменение вовсе не отражается в этом ключе реестра. Где еще хранится эта информация?
Ответы
Ответ 1
Взгляните на:
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 (где [действие] - это действие оболочки, которое вас интересует, например: "Открыть", "Печать", "Редактировать" и т.д.)..
Ответ 3
Вкл.:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList
Совет: Изменить > Найти очень удобно в этих ситуациях.:)