Удалите ассоциацию файлов Windows с помощью .reg файл

Вопрос: Используя .reg файл, как я полностью удаляю ассоциацию типа файла? Я попробовал, например, удаление HKEY_CLASSES_ROOT\myextension_auto_file но это, достаточно по-видимому.

Фон: На Windows Vista у меня есть .reg файл, который успешно связывает тип файла с другим приложением, для которого всегда нужны некоторые переданные параметры (который является, почему просто соединение щелчка правой кнопкой не было достаточно; см. .reg файл). Однако, поскольку .reg файл по некоторым причинам только работает с ранее несвязанными расширениями файла, я надеюсь добавлять некоторые команды к нему для первого удаления данной ассоциации типа файла.

12
задан 06.10.2009, 07:48

2 ответа

Я вижу, что Вы пишете в HKEY_CLASSES_ROOT с этим reg файл в вопросе. Этот улей является объединенным представлением HKEY_LOCAL_MACHINE\Software\Classes и HKEY_CURRENT_USER\Software\Classes.

Причина Ваш файл только работает на ранее несвязанные файлы, состоит в том что записи к HKEY_CLASSES_ROOT перенаправьте к соответствующему ключу HKEY_LOCAL_MACHINE (улей для системных значений по умолчанию и все-пользовательских настроек). Однако Вы столкнетесь с проблемой потому что настройки ассоциации файлов в HKEY_CURRENT_USER (который содержит настройки в расчете на пользователя), переопределяют системные значения по умолчанию.

Кроме того, если расширением управляют "программы по умолчанию" ассоциация, это - информация об ассоциации файлов, хранится в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>. Можно проверить, имеет ли расширение эту ассоциацию путем проверки на существование того ключа.

Можно отредактировать .reg для работы на любой файл, включая ранее связанные файлы, путем дублирования его для тех ключей в обоих HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER. Точно так же можно удалить ассоциацию путем удаления соответствующих ключей в обеих крапивницах (включая FileExts местоположение).

Работа .reg файл для удаления ассоциации для конкретного расширения похожа на это (который удаляет .blerg assocations):

Windows Registry Editor Version 5.00

; Created with Default Programs Editor
; http://defaultprogramseditor.com/

; Delete Extension
[-HKEY_LOCAL_MACHINE\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.blerg]

Однако, если Вы предпочли бы не должными быть узнавать о внутренностях реестра и различных тайных аспектах ассоциации файлов Windows, я рекомендую использовать Редактора Программ По умолчанию для создания этих изменений - можно даже экспортировать действие в .reg файл, который, кажется, соответствует потребностям отлично.

Default Programs Editor delete extension and save as .reg file

В Вашем случае это столь же просто как нажатие File Type Settings, затем Delete an extension. Выберите расширение, и вместо того, чтобы сохранить к реестру, нажмите маленькую стрелку на Delete Extension кнопка и щелчок Save to .reg file.... Это произведет полный и прокомментированный .reg файл этого действия, которое можно сохранить или распределить другим машинам.

18
ответ дан 07.12.2019, 11:54
  • 1
    Какой потрясающий, хорошо объясненный ответ. Спасибо Факторный Мистик - это работает как очарование! – Philipp Lenssen 07.10.2009, 14:18

Этот вопрос, кажется, имеет много предположений в нем, которые сомнительны.

Во-первых, почему Вы хотите использовать .reg файл для удаления ассоциации файлов? Почему не только делают это от пользовательского интерфейса? Вы делаете это через многие рабочие станции?

Во-вторых, мне не удается видеть, почему .reg файл, с которым Вы связались, будет только работать с ранее несвязанными расширениями файла.

Так или иначе, для удаления ключа с помощью .reg файла Вы снабжаете префиксом дефис к ключевому имени. Для удаления значения Вы устанавливаете его на знак дефиса. Все это записанное здесь.

Для удаления ассоциации файлов необходимо удалить ключ для расширения файла, например.

[-HKEY_CLASSES_ROOT\.dat]

Это одно препятствовало бы тому, чтобы файл был открыт, но для полноты необходимо также удалить ключ для имени типа, которое было значением по умолчанию под ключом расширения файла. Пример:

[-HKEY_CLASSES_ROOT\dat_auto_file]
3
ответ дан 07.12.2019, 11:54
  • 1
    Itsadok. Да, идеально я изучаю выполнение его через .reg файл, потому что я мог бы хотеть распределить результат (который является Ярлыком приложения Chrome / основанный на Ajax текстовый редактор, работающий localhost + сервер). К вашему сведению Ваше решение, кажется, оставляет некоторые трассировки ассоциации, но Факторный Мистик решил его. – Philipp Lenssen 07.10.2009, 14:23

Теги

Похожие вопросы