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.
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).
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:
ATL Registrar 2.0 Class come valore della stringa predefinita della chiave.CLSID come sottochiave.{44EC053A-400F-11D0-9DCD-00A0C90391D3} per CLSID . (Questo valore è del Registrar CLSID per l'uso con CoCreateInstance.)
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:
{44EC053A-400F-11D0-9DCD-00A0C90391D3} e tutte le relative sottochiavi.{44EC053A-400F-11D0-9DCD-00A0C90391D3}.ATL Registrar 2.0 Class come valore stringa predefinito per{44EC053A-400F-11D0-9DCD-00A0C90391D3}.
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.
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.