Я вижу, вы пишете 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, который, кажется, идеально соответствует вашим потребностям.
В вашем случае, это так просто , как нажать File Type Settings
, затем Delete an extension
. Выберите расширение и вместо сохранения в реестре нажмите небольшую стрелку на Delete Extension
кнопке и нажмите Save to .reg file...
. Это создаст полный и закомментированный файл .reg этого действия, который вы можете сохранить или распространить на другие машины.
Этот вопрос, кажется, имеет много предположений, которые сомнительны.
Во-первых, почему вы хотите использовать файл .reg для удаления ассоциации файлов? Почему бы просто не сделать это из пользовательского интерфейса? Вы делаете это на многих рабочих станциях?
Во-вторых, я не понимаю, почему файл .reg, на который вы ссылаетесь, будет работать только с ранее не связанными расширениями файлов.
В любом случае, чтобы удалить ключ с помощью файла .reg, вы должны поставить дефис перед именем ключа. Чтобы удалить значение, вы устанавливаете его как дефис-знак. Все это прописано здесь .
Чтобы удалить сопоставление файлов, вам необходимо удалить ключ для расширения файла, например,
Одно это предотвратит открытие файла, но для полноты вы должны также удалить ключ для имени типа, который был значением по умолчанию под ключом расширения файла. Пример:
источник