Widzę, że piszesz do HKEY_CLASSES_ROOT
tego pliku reg w pytaniu. Ten ul jest połączonym widokiem HKEY_LOCAL_MACHINE\Software\Classes
i HKEY_CURRENT_USER\Software\Classes
.
Powodem, dla którego twój plik działa tylko w przypadku wcześniej niepowiązanych plików, jest to, że pisze w celu HKEY_CLASSES_ROOT
przekierowania do odpowiedniego klucza w HKEY_LOCAL_MACHINE
(gałęzi dla domyślnych ustawień systemu i ustawień wszystkich użytkowników). Wystąpi jednak problem, ponieważ ustawienia powiązania plików w HKEY_CURRENT_USER
(które zawierają ustawienia poszczególnych użytkowników) zastępują ustawienia domyślne systemu.
Ponadto, jeśli rozszerzenie jest kontrolowane przez powiązanie z „domyślnymi programami”, informacje o powiązaniu pliku są przechowywane w HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>
. Możesz sprawdzić, czy twoje rozszerzenie ma to powiązanie, sprawdzając istnienie tego klucza.
Możesz edytować plik .reg, aby działał dla dowolnego pliku, w tym wcześniej skojarzonych plików, kopiując go dla tych kluczy zarówno w, jakHKEY_LOCAL_MACHINE
i w HKEY_CURRENT_USER
. Podobnie możesz usunąć powiązanie, usuwając odpowiednie klucze w obu ulach (w tym w FileExts
lokalizacji).
Działający plik .reg do usuwania powiązania dla określonego rozszerzenia wygląda następująco (co usuwa .blerg
przypisania):
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]
Jeśli jednak nie chcesz się uczyć na temat wewnętrznych elementów rejestru i różnych tajemnych aspektów skojarzenia plików Windows, zalecam skorzystanie z Edytora programów domyślnych, aby wprowadzić te zmiany - możesz nawet wyeksportować akcję do plik .reg, który wydaje się idealnie pasować do twoich potrzeb.
W twoim przypadku, to tak proste, jak kliknięcie File Type Settings
, a następnie Delete an extension
. Wybierz rozszerzenie i zamiast zapisywać w rejestrze, naciśnij małą strzałkę na Delete Extension
przycisku i kliknij Save to .reg file...
. Spowoduje to utworzenie pełnego i skomentowanego pliku .reg tej akcji, który można zapisać lub rozpowszechnić na innych komputerach.