Die Skripterstellung Beispiele in diesem Artikel wird veranschaulicht, wie einen Schlüssel in die Systemregistrierung hinzufügen; Registrieren des Registrator-COM-Servers; und geben Sie mehrere Parse-Bäume.
Der folgenden Parse-Baum zeigt ein einfaches Skript, das einen einzelnen Schlüssel der Systemregistrierung hinzufügt. Insbesondere das Skript fügt den Schlüssel, MyVeryOwnKey , zu HKEY_CURRENT_USER . Es weist auch den Standardwert des HowGoesIt? auf den neuen Schlüssel:
HKEY_CURRE&NT_USER
{
Nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
}
Dieses Skript kann leicht erweitert werden, um mehrere Unterschlüssel wie folgt definieren:
HKCU
{
&Nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
{
'HasASubkey'
{
'PrettyCool?' = d '55'
Val 'ANameValue' = s 'WithANamedValue'
}
}
}
Nun, das Skript fügt einen Unterschlüssel, HasASubkey , zu MyVeryOwnKey . Auf diesen Unterschlüssel, fügt es beide den PrettyCool? Unterschlüssel (mit einem Standard- DWORD -Wert von 55) und die ANameValue mit der Bezeichnung Value (mit einem String-Wert desWithANamedValue).
Das folgende Skript registriert den Registrator-COM-Server selbst.
HKCR
{
&Nbsp; ATL.Kanzler = s ' ATL 2.0 Registrar-Klasse
{
CLSID = s '{44EC053A-400F-11D0-9DCD-00A0C90391D3}'
}
NoRemove CLSID
{
ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
s ' ATL 2.0 Registrar-Klasse
{
ProgID = s ' ATL.Kanzler '
InprocServer32 = s '% Modul %'
{
Val ThreadingModel = s 'Wohnung'
}
}
}
}
Zur Laufzeit fügt diese Parserstruktur den ATL.Registrar Schlüssel zu HKEY_CLASSES_ROOT . Dieser neue Schlüssel dann It:
ATL Registrar 2.0 Class als Standard-Zeichenfolgenwert für den Schlüssel.CLSID als Unterschlüssel.{44EC053A-400F-11D0-9DCD-00A0C90391D3} für CLSID . (Dieser Wert ist der Registrar CLSID für die Verwendung mit CoCreateInstance.)
Da CLSID ist freigegeben, es sollte nicht entfernt werden im Unregister-Modus. Die Anweisung NoRemove CLSID , tut dies durch die Angabe, dass CLSID im Register-Modus geöffnet und im Unregister Modus ignoriert werden sollte.
Die ForceRemove -Anweisung stellt eine Haushaltung-Funktion durch Entfernen eines Schlüssels und aller seiner Unterschlüssel, bevor Sie den Schlüssel neu erstellen. Dies kann nützlich sein, wenn die Namen der Unterschlüssel geändert haben. In diesem Skript Beispiel ForceRemove überprüft, wenn {44EC053A-400F-11D0-9DCD-00A0C90391D3} bereits vorhanden ist. Wenn ja,ForceRemove:
{44EC053A-400F-11D0-9DCD-00A0C90391D3} und aller seiner Unterschlüssel.{44EC053A-400F-11D0-9DCD-00A0C90391D3}.ATL Registrar 2.0 Class als der Standard-Zeichenfolgenwert für{44EC053A-400F-11D0-9DCD-00A0C90391D3}.
Der Parse-Baum fügt jetzt zwei neue Unterschlüssel zu {44EC053A-400F-11D0-9DCD-00A0C90391D3} . Der erste Schlüssel, ProgID , Ruft einen Standard-Zeichenfolgenwert, der die ProgID ist. Der zweite Schlüssel, InprocServer32 , Ruft einen Standardwert, %MODULE% , d. h. ein Präprozessor Wert erklärt im Abschnitt Verwenden von austauschbaren Parametern (der Kanzler Präprozessor), der in diesem Artikel. InprocServer32 bekommt auch einen benannten Wert, ThreadingModel , mit einem String-Wert desApartment.
Um mehr als einen Parserstruktur in einem Skript anzugeben, platzieren Sie einfach einen Baum am anderen Ende. Z. B. das folgende Skript fügt den Schlüssel, MyVeryOwnKey , auf die Parse-Bäume für beide HKEY_CLASSES_ROOT undHKEY_CURRENT_USER:
HKCR
{
&Nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
}
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt?'
}
Hinweis&Nbsp; In einem Registratorskript ist 4 K die maximale Tokengröße. (Ein Token ist ein erkennbares Element in der Syntax). Im vorherigen Beispiel Skripting HKCR , HKEY_CURRENT_USER , 'MyVeryOwnKey' , und 'HowGoesIt?' sind alle Token.