12

Вопрос. Как полностью удалить связь с типом файлов с помощью файла .reg? Я пытался, например, удалить HKEY_CLASSES_ROOT\myextension_auto_file но этого явно недостаточно.

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

2 ответа2

18

Я вижу, вы пишете в 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 ):

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, который, кажется, идеально соответствует вашим потребностям.

Редактор программ по умолчанию удалить расширение и сохранить как .reg файл

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

3

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

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

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

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

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

[-HKEY_CLASSES_ROOT\.dat]

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

[-HKEY_CLASSES_ROOT\dat_auto_file]

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