Если я запускаю assoc
утилиту командной строки для расширения, она показывает тип файла / описание для расширения, которое я установила в реестре. Но если я захожу в Панель управления -> Программы по умолчанию - Установить ассоциации, то я вижу другое описание и программу по умолчанию.
Раньше было то, что установка двух клавиш:
HKCR\.ext
(по умолчанию) = идентификатор- Identifier (по умолчанию) = "Описание файла"
- \ DefaultIcon (по умолчанию) = значок
- \ Shell \ Open \ Command (по умолчанию) = некоторый редактор
Но теперь кажется, что в другом месте есть переопределение, которое отображается в списке программ по умолчанию.
Мой вопрос, где я храню эту переопределенную информацию об ассоциации? Я предполагаю, что это в реестре, но я не вижу его в ключах, я ожидаю, что это будет. Я полагаю, что это изменилось за время Vista, но, возможно, это было и в XP.
Обновление: поскольку существует некоторая путаница, выполните следующий тест. Переименуйте файл в новое расширение. Создайте ассоциацию в разделах реестра, упомянутых выше. Затем щелкните правой кнопкой мыши файл, « Открыть с помощью» и выберите другую программу (установите флажок, чтобы сделать его программой по умолчанию). Теперь проверьте реестр. Он не изменился, но теперь файл связан с другим описанием, значком и программой по умолчанию.
источник
HKEY_CLASSES_ROOT
карты тоже. Те хранят то, чтоassoc
возвращает команда. Но информация о переопределении, возвращаемая программами по умолчанию на панели управления, отличается.