Exemples de scripts du Registre
Les exemples de script de cette rubrique montrent comment ajouter une clé au registre système, inscrire le serveur COM du bureau d’enregistrement et spécifier plusieurs arborescences d’analyse.
Ajouter une clé à HKEY_CURRENT_USER
L’arborescence d’analyse suivante illustre un script simple qui ajoute une clé unique au registre système. En particulier, le script ajoute la clé, MyVeryOwnKey
à HKEY_CURRENT_USER
. Il affecte également la valeur de chaîne par défaut de HowGoesIt
la nouvelle clé :
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
Ce script peut facilement être étendu pour définir plusieurs sous-clés comme suit :
HKCU
{
'MyVeryOwnKey' = s 'HowGoesIt'
{
'HasASubkey'
{
'PrettyCool' = d '55'
val 'ANameValue' = s 'WithANamedValue'
}
}
}
À présent, le script ajoute une sous-clé, HasASubkey
à MyVeryOwnKey
. À cette sous-clé, elle ajoute à la fois la PrettyCool
sous-clé (avec une valeur par défaut DWORD
de 55) et la ANameValue
valeur nommée (avec une valeur de chaîne de WithANamedValue
).
Inscrire le serveur COM du bureau d’enregistrement
Le script suivant inscrit le serveur COM du bureau d’enregistrement lui-même.
HKCR
{
ATL.Registrar = s 'ATL Registrar Class'
{
CLSID = s '{44EC053A-400F-11D0-9DCD-00A0C90391D3}'
}
NoRemove CLSID
{
ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} = s 'ATL Registrar Class'
{
ProgID = s 'ATL.Registrar'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
}
}
}
Au moment de l’exécution, cette arborescence d’analyse ajoute la ATL.Registrar
clé à HKEY_CLASSES_ROOT
. Pour cette nouvelle clé, elle est ensuite :
Spécifie
ATL Registrar Class
comme valeur de chaîne par défaut de la clé.Ajoute en
CLSID
tant que sous-clé.Spécifie pour
{44EC053A-400F-11D0-9DCD-00A0C90391D3}
CLSID
. (Cette valeur est le CLSID du bureau d’enregistrement à utiliser avecCoCreateInstance
.)
Étant CLSID
donné qu’il est partagé, il ne doit pas être supprimé en mode Désinscription. L’instruction, NoRemove CLSID
effectue cette opération en indiquant qu’elle CLSID
doit être ouverte en mode Registre et ignorée en mode Désinscription.
L’instruction ForceRemove
fournit une fonction de nettoyage en supprimant une clé et toutes ses sous-clés avant de recréer la clé. Cela peut être utile si les noms des sous-clés ont changé. Dans cet exemple de script, ForceRemove
vérifie s’il {44EC053A-400F-11D0-9DCD-00A0C90391D3}
existe déjà. Si c’est le cas, ForceRemove
:
Supprime de manière récursive
{44EC053A-400F-11D0-9DCD-00A0C90391D3}
et toutes ses sous-clés.Recrée
{44EC053A-400F-11D0-9DCD-00A0C90391D3}
.Ajoute
ATL Registrar Class
comme valeur de chaîne par défaut pour{44EC053A-400F-11D0-9DCD-00A0C90391D3}
.
L’arborescence d’analyse ajoute désormais deux nouvelles sous-clés à {44EC053A-400F-11D0-9DCD-00A0C90391D3}
. La première clé, ProgID
obtient une valeur de chaîne par défaut qui est le ProgID. La deuxième clé, obtient InprocServer32
une valeur de chaîne par défaut, %MODULE%
c’est-à-dire une valeur de préprocesseur expliquée dans la section, Using Replaceable Parameters (The Registrar’s Preprocessor) de cet article. InprocServer32
obtient également une valeur nommée, ThreadingModel
avec une valeur de chaîne de Apartment
.
Spécifier plusieurs arborescences d’analyse
Pour spécifier plusieurs arborescences d’analyse dans un script, placez simplement une arborescence à la fin d’une autre. Par exemple, le script suivant ajoute la clé, MyVeryOwnKey
aux arborescences d’analyse pour les deux HKEY_CLASSES_ROOT
et HKEY_CURRENT_USER
:
HKCR
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
Remarque
Dans un script de bureau d’enregistrement, la taille maximale du jeton est 4K. (Un jeton est un élément reconnaissable dans la syntaxe.) Dans l’exemple de script précédent, , HKCR
, HKEY_CURRENT_USER
'MyVeryOwnKey'
, et 'HowGoesIt'
sont tous des jetons.