Exemples de script de Registre

Les exemples de scripts dans cet article montrent comment ajouter une clé au registre système ; inscrire le serveur COM registraire ; et spécifier plusieurs arbres d'analyse syntaxique.

Ajouter une clé à HKEY_CURRENT_USER

L'arbre d'analyse suivante illustre un script simple qui ajoute une touche unique dans le 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_CURRE&NT_USER
{
 nbsp ; « MyVeryOwnKey » = s « HowGoesIt? »
}

Ce script peut facilement être étendu pour définir plusieurs sous-clés comme suit:

HKCU
{
 nbsp ; « MyVeryOwnKey » = s « HowGoesIt? »
   {
      « HasASubkey »
      {
         « PrettyCool »? = d « 55 »
         Val « A&NameValue » = s « WithANamedValue »
      }
   }
}

Maintenant, le script ajoute une sous-clé, HasASubkey , à MyVeryOwnKey . À cette sous-clé, il ajoute tous les deux la PrettyCool? sous-clé (avec une valeur DWORD de valeur par défaut de 55) et le ANameValue valeur (avec une valeur de chaîne nomméeWithANamedValue).

Inscrire le serveur COM de registraire

Le script suivant inscrit le serveur COM registraire lui-même.

HKCR
{
 nbsp ; ATLA&NT.Registraire = s ' ATL 2.0 greffier classe
   {
      CLSID = s « {44EC053A-400F-11D0-9DCD-00A0C90391D3} »
   }
   NoRemove CLSID
   {
      ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
                   s ' ATL 2.0 greffier classe
      {
         ProgID = s ' ATL.Registraire »
         InprocServer32 = s « % MODULE »
         {
            Val ThreadingModel = s « Appartement »
         }
      }
   }
}

Au moment de l'exécution, cet arbre syntaxique ajoute la ATL.Registrar clé de HKEY_CLASSES_ROOT . À cette nouvelle clé, puis il:

Étant donné que CLSID est partagé, il ne doit pas être supprimé en mode Unregister. La déclaration, NoRemove CLSID , en indiquant que le fait CLSID devrait être ouvert en mode de Registre et ignoré en mode Unregister.

La ForceRemove déclaration fournit une fonction d'entretien ménager 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 si {44EC053A-400F-11D0-9DCD-00A0C90391D3} existe déjà. Si elle le fait,ForceRemove:

L'arbre d'analyse maintenant ajoute deux nouvelles sous-clés de {44EC053A-400F-11D0-9DCD-00A0C90391D3} . La première clé, ProgID , obtient une valeur de chaîne par défaut est le ProgID. La deuxième clé, InprocServer32 , obtient une valeur de chaîne par défaut, %MODULE% , qui est une valeur du préprocesseur a expliqué dans la section, à l'aide des paramètres remplaçables (le préprocesseur de Registrar), du présent article. InprocServer32 obtient également une valeur nommée, ThreadingModel , avec une valeur de chaîneApartment.

Spécifier plusieurs arbres d'analyse syntaxique

Pour spécifier plus d'un arbre d'analyse dans un script, Placez simplement un arbre à la fin d'une autre. Par exemple, le script suivant ajoute la clé, MyVeryOwnKey , les arbres syntaxique pour les deux HKEY_CLASSES_ROOT etHKEY_CURRENT_USER:

HKCR
{
 nbsp ; « MyVeryOwnKey » = s « HowGoesIt? »
}
HKEY_CURRE&NT_USER
{
   « MyVeryOwnKey » = s « HowGoesIt? »
}

&Notenbsp ;  Dans un script de registraire, 4 K est la taille maximale de jeton. (Un jeton est tout élément reconnaissable dans la syntaxe). Dans l'exemple de script précédent, HKCR , HKEY_CURRENT_USER , 'MyVeryOwnKey' , et 'HowGoesIt?' sont tous les jetons.

Index