Où les associations de programmes par défaut sont-elles stockées dans le registre ?

Si j’exécute l’utilitaire en ligne de commande assoc pour une extension, il affiche le type/description de fichier pour l’extension que j’ai définie dans le registre. Mais si je vais dans Panneau de configuration → Programmes par défaut → Définir les associations, je vois une description et un programme par défaut différents.

Avant, il suffisait de définir les deux clés :

  • HKCR\.ext (par défaut) = Identifiant

  • Identifiant (par défaut) = “Description du fichier”

  • \DefaultIcon (par défaut) = Une icône

  • \Shell\Open\Command (par défaut) = Un éditeur

Mais maintenant il semble y avoir un remplacement ailleurs, qui est ce qui s’affiche dans la liste des Programmes par défaut.

Ma question est : où ces informations d’association remplacées sont-elles stockées ? Je suppose que c’est dans le registre, mais je ne les vois pas dans les clés où je m’attends à les trouver. Je crois que cela a été changé à l’époque de Vista, mais c’était peut-être aussi dans XP.

Mise à jour : Comme il y a une certaine confusion, faites le test suivant. Renommez un fichier avec une nouvelle extension. Créez une association dans les clés de registre mentionnées ci-dessus. Ensuite, faites un clic droit sur le fichier, Ouvrir avec et sélectionnez un programme différent (en cochant pour le rendre par défaut). Maintenant vérifiez le registre. Il est inchangé, mais maintenant le fichier est associé avec une description, une icône et un programme par défaut différents.

Cela devrait se trouver dans :

HKEY_LOCAL_MACHINE\SOFTWARE\Classes et HKCU\SOFTWARE\Classes

Et je ne crois pas que cela ait changé récemment.

La priorité est d’abord l’utilisateur actuel, puis la machine locale (qui est aliasée, je crois, vers classes root).

L’Explorateur utilise un ensemble différent de clés de registre qui se trouvent à :

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\