Partager via


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 avec CoCreateInstance.)

Étant CLSID donné qu’il est partagé, il ne doit pas être supprimé en mode Désinscription. L’instruction, NoRemove CLSIDeffectue 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 case activée pour voir 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é, ProgIDobtient une valeur de chaîne par défaut qui est le ProgID. La deuxième clé, obtient InprocServer32une 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, ThreadingModelavec 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é, MyVeryOwnKeyaux 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.

Voir aussi

Création de scripts d’inscription