• Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Le fonctionnement de la base de registre

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Dans ce chapitre, nous allons faire uniquement de la théorie pour que vous puissiez bien comprendre comment fonctionne l'association des fichiers.

Are you ready ? Go !

Structure de la base de registre

Si vous observez un peu la base de registre, vous pourrez voir, comme l'explorateur Windows, qu'elle est "découpée" en plusieurs répertoires et sous-répertoires.
Ces répertoires s'appellent des clés (on parle aussi de clés de registre).

Et vous pouvez aussi noter que chacune de ces clés (les "répertoires") contiennent des "fichiers" qui sont appelé des valeurs (par contre, ici, on ne dit pas valeur de registre, juste valeur).

Il existe un seul type de clés. En revanche, il existe 5 types de valeurs, qui sont :

  • valeur chaîne (REG_SZ) : c'est une chaîne de caractères. Nous n'utiliserons que celle-ci dans nos manipulations ;

  • valeur binaire (REG_BINARY) : c'est une valeur binaire (ex. : 01110101) ;

  • valeur DWORD (REG_DWORD) : c'est une valeur hexadécimale (ex. : 0x8F) ou décimale (ex. : 67) ;

  • valeur de chaînes multiples (REG_MULTI_SZ) ;

  • valeur de chaînes extensibles (REG_EXPAND_SZ).

Un petit screenshot ?

Image utilisateur

Une vue de toutes les clés existantes

La valeur chaîne peut aussi contenir une liste d'hexadécimaux sous la forme {B41DB860-8EE46-...}.

Le texte en gras est le type de valeur (la valeur qui apparaît dans la colonne type de l'explorateur de la base de registre).

Et bien sûr, chaque valeur à un nom. Mais il y a une valeur qui est toujours là, c'est la valeur nommée (par défaut). Elle est de type REG_SZ, c'est-à-dire qu'elle contient une chaîne de caractères.
Ce sera la clé que nous utiliserons le plus souvent lors de nos manipulations.

5 clés principales

Si vous ouvrez la base de registre et que vous repliez tout, vous verrez que la base de registre est constituée de 5 clés principales :

  • HKEY_CLASSES_ROOT : toutes les informations sur les extensions, donc sur les associations de fichiers ;

  • HKEY_CURRENT_USER : toutes les informations sur l'utilisateur courant (caractéristiques, préférences, etc.) ;

  • HKEY_LOCAL_MACHINE : toutes les informations sur la machine (le PC) et sur les informations communes à tous les utilisateurs ;

  • HKEY_USERS : les paramètres de chaque utilisateur ;

  • HKEY_CURRENT_CONFIG : toutes les informations de la configuration de la machine (du PC) courante.

La seule clé qui nous intéresse ici est HKEY_CLASSES_ROOT, qui contient toutes les informations relatives aux extensions de Windows.

De l'extension à ses informations

Voici la devise de Microsoft (et donc de Windows) : "Pourquoi faire simple quand on peut faire compliqué ?". ( o_O )

En clair, j'essaie de vous expliquer que Microsoft n'aime pas la simplicité. Et la base de registre n'échappe pas à cette règle "universelle" de Microsoft.

Pour passer d'une extension à ses informations, ce n'est pas simple.
En effet : si vous cherchez des informations en rapport à l'extension .txt (les fichiers texte), il faut faire cela :

  1. ouvrir la base de registre (regedit) ;

  2. aller dans la clé principale HKEY_CLASSES_ROOT ;

  3. Image utilisateur

    ouvrir la clé qui porte le nom de l'extension (ici : .txt) ;

    La clé .txt

  4. Image utilisateur

    lire la valeur de la valeur(par défaut) ;

    La valeur(par défaut)

  5. aller dans la clé qui porte le nom de la valeur(par défaut) (celle que vous venez de lire). Ici, c'est txtfile ;

  6. Image utilisateur

    et là, vous êtes dans la clé qui contient toutes les informations sur votre extension (.txt).

    La clé txtfile

Maintenant, regardons de plus près ce que contient la clé de notre exemple (txtfile).

Le contenu d'une clé

La clé de notre exemple est constituée de plusieurs sous-clés et de plusieurs valeurs.

Regardons en premier, la valeur(par défaut). Celle-ci contient le texte qui sera affiché dans la colonne type de l'explorateur Windows (ici : Document texte).

Ensuite la valeur(par défaut) de la sous-clé DefaultIcon contient le chemin d'accès de l'icône. Le chiffre derrière la virgule est l'ID de l'icône dans la .dll (souvenez-vous de ce que je vous ai dit à propos des icônes qui ne sont pas dans un fichier d'icône).

Donc, pour indiquer une icône précise dans un fichier, il faut mettre le chemin d'accès du fichier, suivi d'une virgule puis de l'ID (généralement, la première icône a l'ID 0, puis 1, 2, etc.).

Maintenant, entrons dans la sous-clé shell. Elle contient elle-même plusieurs sous-clés. Chacune de ces sous-clés correspond à une action différente.
Par action, j'entends une action possible à exécuter lorsque vous faites un clic droit sur un fichier.

Prenons en exemple l'action open (ouvrir en français). Dans cette sous-clé il y a... encore des sous-clés. :waw:
Il ne peut y avoir que 2 sous-clés maximum dans chaque action :

  • Image utilisateur

    la sous-clé command (obligatoire) : sa valeur(par défaut) contient le chemin du programme à lancer lors du clic sur l'action ;

    la valeur(par défaut) de la sous-clé command

  • la sous-clé ddeexec (facultative) : elle contient toutes les informations sur l'utilisation de DDE.

Je ne vous parlerai pas de l'utilisation de DDE maintenant car je le ferai dans plusieurs chapitres.

Pour l'instant, nous utiliserons donc que la sous-clé command.

Vous devez désormais mourir d'envie :honte: de passer à la pratique...

Eh bien, hop, c'est parti !

Exemple de certificat de réussite
Exemple de certificat de réussite