HKEY_CLASSES_ROOT/BATFILE/EditFlags=d0040000
		

Structure d'un fichier .reg

REGEDIT4

[DOSSIER]
@="CHAINE"
"CHAINE"="CHAINE"
		

Les changements de ligne sont importants.
Après REGEDIT4, il y a 2 sauts de ligne et après la dernière instruction aussi.
Chaque dossiers sont séparés de 2 sauts de ligne
Les sauts de ligne sont composé des caractères ascii suivant : 0D et 0A (13 et 10)

Avec Windows 2000 et Windows XP, la première ligne est: Windows Registry Editor Version 5.00 (remplace la ligne REGEDIT4 de Windows 98).

Lors de l'exécution d'un .reg (double-clique dans l'explorateur window), les dossiers sont créer ainsi que les clés.

le signe @ signifie une clé par défaut
Dans mon regedit, c'est écrit (Défaut)

Clé importante

Menu contextuelle

Pour chaque extension est associé des menus dans l'explorateur Windows.

La définition de ces menus se trouve dans HKEY_CLASSES_ROOT\

Pour définir une option pour toutes les extensions, il faut:

  1. créer un dossier dans dans HKEY_CLASSES_ROOT\*\shell\
  2. changer la valeur par défaut si on veut un menu avec un autre nom que le nom du dossier

Pour définir une extension il faut:

  1. créer un dossier dans dans HKEY_CLASSES_ROOT\*\shellex\
  2. changer la valeur par défaut avec une classe qui pointe vers le fichier qui contient la librairie

Fichiers .DLL

Enregistrer/Désenregistrer un .DLL ou un .OCX

Pour enregistrer ou désenregistrer un .dll, il faut utiliser la commande "C:\WINDOWS\SYSTEM\REGSVR32.EXE".

Voici l'instruction en commande DOS:

@rem enregistrer
C:\WINDOWS\SYSTEM\REGSVR32.EXE FICHIER.DLL

@rem désenregistrer
C:\WINDOWS\SYSTEM\REGSVR32.EXE /u FICHIER.DLL

Avec Regedit, on peut facilement créer un raccourci vers ces commandes dans le menu contextuel de cette extension.

Il suffit d'ajouter les clés suivantes:

[HKEY_CLASSES_ROOT\dllfile\shell]

[HKEY_CLASSES_ROOT\dllfile\shell\Enregistrer]

[HKEY_CLASSES_ROOT\dllfile\shell\Enregistrer\command]
@="C:\\WINDOWS\\SYSTEM\\REGSVR32.EXE \"%1\""

[HKEY_CLASSES_ROOT\dllfile\shell\Désenregistrer]

[HKEY_CLASSES_ROOT\dllfile\shell\Désenregistrer\command]
@="C:\\WINDOWS\\SYSTEM\\REGSVR32.EXE /u \"%1\""

[HKEY_CLASSES_ROOT\ocxfile\shell]

[HKEY_CLASSES_ROOT\ocxfile\shell\Enregistrer]

[HKEY_CLASSES_ROOT\ocxfile\shell\Enregistrer\command]
@="C:\\WINDOWS\\SYSTEM\\REGSVR32.EXE \"%1\""

[HKEY_CLASSES_ROOT\ocxfile\shell\Désenregistrer]

[HKEY_CLASSES_ROOT\ocxfile\shell\Désenregistrer\command]
@="C:\\WINDOWS\\SYSTEM\\REGSVR32.EXE /u \"%1\""