Je vois que vous écrivez HKEY_CLASSES_ROOT
avec ce fichier reg dans la question. Cette ruche est une vue fusionnée de HKEY_LOCAL_MACHINE\Software\Classes
et HKEY_CURRENT_USER\Software\Classes
.
La raison pour laquelle votre fichier ne fonctionne que pour les fichiers précédemment non associés est qu'il écrit pour HKEY_CLASSES_ROOT
rediriger vers la clé appropriée HKEY_LOCAL_MACHINE
(la ruche pour les valeurs par défaut du système et les paramètres de tous les utilisateurs). Cependant, vous rencontrerez un problème car les paramètres d'association de fichiers dans HKEY_CURRENT_USER
(qui contient les paramètres par utilisateur) remplacent les valeurs par défaut du système.
De plus, si l'extension est contrôlée par une association "programmes par défaut", ses informations d'association de fichiers sont stockées dans HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>
. Vous pouvez vérifier si votre extension possède cette association en vérifiant l'existence de cette clé.
Vous pouvez modifier votre .reg au travail pour tous les fichiers, y compris les fichiers précédemment associés, en le dupliquant pour les clés à la fois HKEY_LOCAL_MACHINE
et HKEY_CURRENT_USER
. De même, vous pouvez supprimer l'association en supprimant les clés appropriées dans les deux ruches (y compris l' FileExts
emplacement).
Un fichier .reg de travail pour supprimer une association pour une extension particulière ressemble à ceci (qui supprime les .blerg
associations):
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]
Cependant , si vous préférez ne pas avoir à vous renseigner sur les internes du registre et les divers aspects obscurs de l'association de fichiers Windows, je vous recommande d'utiliser l' éditeur de programmes par défaut pour effectuer ces modifications - vous pouvez même exporter une action vers un fichier .reg, qui semble parfaitement correspondre à vos besoins.
Dans votre cas, c'est aussi simple que de cliquer File Type Settings
, alors Delete an extension
. Sélectionnez l'extension et, au lieu d'enregistrer dans le registre, appuyez sur la petite flèche du Delete Extension
bouton, puis cliquez sur Save to .reg file...
. Cela produira un fichier .reg complet et commenté de cette action que vous pouvez enregistrer ou distribuer à d'autres machines.
Cette question semble contenir de nombreuses hypothèses discutables.
Tout d'abord, pourquoi voulez-vous utiliser un fichier .reg pour supprimer l'association de fichiers? Pourquoi ne pas simplement le faire à partir de l'interface utilisateur? Faites-vous cela sur de nombreux postes de travail?
Deuxièmement, je ne vois pas pourquoi le fichier .reg auquel vous avez lié ne fonctionnerait qu'avec des extensions de fichier précédemment non associées.
Quoi qu'il en soit, pour supprimer une clé à l'aide d'un fichier .reg, vous préfixez un trait d'union au nom de la clé. Pour supprimer une valeur, vous la définissez sur trait d'union. Tout est expliqué ici .
Pour supprimer une association de fichiers, vous devez supprimer la clé de l'extension de fichier, par exemple
Cela seul empêcherait l'ouverture du fichier, mais pour être complet, vous devez également supprimer la clé du nom de type, qui était la valeur par défaut sous la clé d'extension de fichier. Exemple:
la source