web-dev-qa-db-fra.com

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

Si j'exécute l'utilitaire de ligne de commande assoc pour une extension, il indique le type de fichier/la description de l'extension que j'ai définie dans le registre. Mais si je vais dans Panneau de configuration -> Programmes par défaut - Définir des associations , je vois une description différente et un programme par défaut.

Auparavant, il s'agissait de définir les deux clés:

  • HKCR\.ext (par défaut) = Identifiant
  • Identifiant (par défaut) = "Description du fichier"
    • \ DefaultIcon (default) = Une icône
    • \ Shell\Open\Command (default) = Certains éditeurs

Mais maintenant, il semble y avoir un remplacement ailleurs, ce qui est affiché dans la liste des programmes par défaut.

Ma question est la suivante: où ces informations d’association remplacées sont-elles stockées? Je suppose que cela se trouve dans le registre, mais je ne le vois pas dans les clés, je suppose. Je crois que cela a été changé dans le laps de temps de Vista, mais il se peut que ce soit aussi dans XP.

Mise à jour: En cas de confusion, effectuez le test suivant. Renommez un fichier en une nouvelle extension. Créez une association dans les clés de registre mentionnées ci-dessus. Ensuite, cliquez avec le bouton droit sur le fichier, ouvrez avec et sélectionnez un autre programme (cochez-le pour le définir par défaut). Maintenant, vérifiez le registre. Il est inchangé, mais le fichier est maintenant associé à une description, une icône et un programme par défaut différents.

15
Jim McKeeth

Devrait être dans:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes et HKCU\SOFTWARE\Classes

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

La priorité est pour l'utilisateur actuel, puis la machine locale (alias je crois aux classes root).

Explorer utilise un ensemble de clés de registre différent, disponible à l'adresse suivante:

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

19
soandos