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