15

Если я запускаю утилиту командной строки assoc для расширения, он показывает тип файла / описание для расширения, которое я установил в реестре. Но если я захожу в Панель управления -> Программы по умолчанию - Установить ассоциации, тогда я вижу другое описание и программу по умолчанию.

Раньше было то, что установка двух клавиш:

  • HKCR\.ext (по умолчанию) = идентификатор
  • Identifier (по умолчанию) = "Описание файла"
    • \DefaultIcon (по умолчанию) = значок
    • \Shell\Open\Command (по умолчанию) = некоторый редактор

Но теперь кажется, что в другом месте есть переопределение, которое отображается в списке программ по умолчанию.

Мой вопрос, где я храню эту переопределенную информацию об ассоциации? Я предполагаю, что это в реестре, но я не вижу его в ключах, я ожидаю, что это будет. Я полагаю, что это изменилось за время Vista, но, возможно, это было и в XP.

Обновление: поскольку существует некоторая путаница, выполните следующий тест. Переименуйте файл в новое расширение. Создайте ассоциацию в разделах реестра, упомянутых выше. Затем щелкните правой кнопкой мыши на файле, « Открыть с помощью» и выберите другую программу (установите флажок, чтобы сделать его по умолчанию). Теперь проверьте реестр. Он не изменился, но теперь файл связан с другим описанием, значком и программой по умолчанию.

1 ответ1

19

Должно быть в:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes и HKCU\SOFTWARE\Classes

И я не верю, что это недавно изменилось.

Приоритет для текущего пользователя, а затем для локального компьютера (с псевдонимом, я считаю, для классов root).

Проводник использует другой набор ключей реестра, которые можно найти по адресу:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .