Esempi di script del Registro di sistema

Gli esempi di script in questo articolo viene illustrato come aggiungere una chiave al Registro di sistema; registrare il server COM ufficiale di stato civile; e specificare più alberi di analisi.

Aggiungere una chiave a HKEY_CURRENT_USER

L'albero di analisi seguente viene illustrato un semplice script che aggiunge una singola chiave di registro di sistema. In particolare, lo script aggiunge la chiave, MyVeryOwnKey , a HKEY_CURRENT_USER . Assegna il valore della stringa predefinita di HowGoesIt? alla nuova chiave:

HKEY_CURRE&NT_USER
{
 nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
}

Questo script può essere facilmente esteso per definire più sottochiavi come segue:

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

Ora, lo script aggiunge una sottochiave, HasASubkey , a MyVeryOwnKey . A questa sottochiave, aggiunge entrambi il PrettyCool? sottochiave (con un valore DWORD predefinito di 55) e il ANameValue valore (con un valore stringa denominatoWithANamedValue).

Registrare il Server COM Registrar

Lo script seguente registra lo stesso server COM Registrar.

HKCR
{
 nbsp; ATL.Registrar = s ' ATL 2.0 Registrar classe
   {
      CLSID = '{44EC053A-400F-11D0-9DCD-00A0C90391D3}' s
   }
   &NoRemove CLSID
   {
      ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
                   s ' ATL 2.0 Registrar classe
      {
         ProgID = s ' ATL.Registrar'
         InprocServer32 = '% % modulo' s
         {
            Val ThreadingModel = 'Appartamento' s
         }
      }
   }
}

In fase di esecuzione, questa parse tree aggiunge il ATL.Registrar chiave per HKEY_CLASSES_ROOT . Questa nuova chiave, allora si:

Poiché CLSID è condiviso, essa non dovrebbe essere rimosso in modalità Unregister. L'istruzione, NoRemove CLSID , indicando che lo fa CLSID dovrebbe essere aperto in modalità di registro e ignorato in modalità Unregister.

Il ForceRemove istruzione fornisce una funzione di servizio di pulizia, eliminando una chiave e tutte le relative sottochiavi prima di ricreare la chiave. Questo può essere utile se i nomi delle sottochiavi sono cambiati. In questo esempio di script, ForceRemove controlli per vedere se {44EC053A-400F-11D0-9DCD-00A0C90391D3} esiste già. In caso affermativo,ForceRemove:

Parse tree ora aggiunge due nuove sottochiavi di {44EC053A-400F-11D0-9DCD-00A0C90391D3} . La prima chiave, ProgID , ottiene un valore di stringa predefinita che è il ProgID. La seconda chiave, InprocServer32 , ottiene un valore di stringa predefinita, %MODULE% , che è un valore per il preprocessore spiegato nella sezione, Utilizzando parametri sostituibili (preprocessore del Registrar), di questo articolo. InprocServer32 ottiene anche un valore nominabile, ThreadingModel , con un valore di stringa diApartment.

Specificare più alberi Parse

Al fine di specificare più di un parse tree in uno script, semplicemente luogo un albero alla fine di un altro. Ad esempio, il seguente script aggiunge la chiave, MyVeryOwnKey , gli alberi di analisi per entrambi HKEY_CLASSES_ROOT eHKEY_CURRENT_USER:

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

&Notanbsp;  In uno script Registrar, 4 K è la dimensione massima del token. (Un token è qualsiasi elemento riconoscibile nella sintassi). Nel precedente esempio di script, HKCR , HKEY_CURRENT_USER , 'MyVeryOwnKey' , e 'HowGoesIt?' sono tutti i token.

Index