Przykłady skryptów w niniejszym artykule przedstawiają sposób dodać klucz rejestru systemu; rejestr serwer COM Sekretarza; i określić wiele analizy drzewa.
Następujące parsowanym drzewie przedstawia prosty skrypt, który dodaje pojedynczy klucz w rejestrze systemu. W szczególności, skrypt dodaje kluczy, MyVeryOwnKey , do HKEY_CURRENT_USER . Również przypisuje domyślne wartości ciąg HowGoesIt? do nowego klucza:
HKEY_CURRE&NT_USER
{
nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?"
}
Ten skrypt może być łatwo rozszerzona w następujący sposób zdefiniować wiele podkluczy:
HKCU
{
nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?"
{
"HasASubkey"
{
"PrettyCool?" = d '55'
Val 'A&NameValue' = s 'WithANamedValue'
}
}
}
Teraz, skrypt dodaje podklucz, HasASubkey , do MyVeryOwnKey . Do tego podklucza dodaje zarówno PrettyCool? podklucza (z domyślną wartość DWORD 55) oraz ANameValue nazwaną wartość (o wartości ciąguWithANamedValue).
Poniższy skrypt rejestruje samego serwera COM Sekretarza.
HKCR
{
nbsp; ATL.Sekretarz = s ' ATL 2.0 klasy Sekretarza
{
Identyfikator CLSID = s "{44EC053A-400F-11D0-9DCD-00A0C90391D3}"
}
&NoRemove CLSID
{
ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
s ' ATL 2.0 klasy Sekretarza
{
Identyfikator programu = s ' ATL.Rejestrator "
InprocServer32 = s "% modułu %"
{
Val ThreadingModel = s "Apartament"
}
}
}
}
W czasie wykonywania, doda ten parsowanym drzewie ATL.Registrar klucz do HKEY_CLASSES_ROOT . Do tego nowego klucza następnie it:
ATL Registrar 2.0 Class jako klucz domyślny ciąg.CLSID jako podklucz.{44EC053A-400F-11D0-9DCD-00A0C90391D3} dla CLSID . (Ta wartość jest Sekretarz CLSID do użytku z funkcji CoCreateInstance.)
Ponieważ CLSID jest udostępniany, nie powinny być usuwane w trybie Wyrejestruj. Instrukcja, NoRemove CLSID , robi to poprzez wskazująca, że CLSID powinny być otwarte w trybie rejestru i ignorowane w trybie Wyrejestruj.
ForceRemoveInstrukcja zawiera funkcję gospodyni usuwając klucz i wszystkie jego podklucze przed ponowne tworzenie kluczy. Może to być przydatne, jeśli uległy zmianie nazw podkluczy. W tym przykładzie skryptów ForceRemove sprawdza, jeśli {44EC053A-400F-11D0-9DCD-00A0C90391D3} już istnieje. Jeśli nie,ForceRemove:
{44EC053A-400F-11D0-9DCD-00A0C90391D3} i wszystkie jego podklucze.{44EC053A-400F-11D0-9DCD-00A0C90391D3}.ATL Registrar 2.0 Class jako domyślną wartość ciągu{44EC053A-400F-11D0-9DCD-00A0C90391D3}.
W parsowanym drzewie teraz dodaje dwa nowe podklucze, które mają {44EC053A-400F-11D0-9DCD-00A0C90391D3} . Pierwszy klucz, ProgID , pobiera wartość ciągu domyślna, czyli identyfikator ProgID. Drugi klucz, InprocServer32 , pobiera wartość ciągu domyślna %MODULE% , czyli wartość preprocesora wyjaśnione w sekcji, Przy użyciu parametrów zastępowalnych (Sekretarza Preprocessor), ten artykuł. InprocServer32 również pobiera wartość o nazwie ThreadingModel , wartość ciąguApartment.
Aby określić więcej niż jedną parsowanym drzewie w skrypcie, po prostu umieścić jedno drzewo na koniec drugiego. Na przykład, poniższy skrypt dodaje kluczy, MyVeryOwnKey , drzew analizy dla obu HKEY_CLASSES_ROOT iHKEY_CURRENT_USER:
HKCR
{
nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?"
}
HKEY_CURRE&NT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt?"
}
Uwaganbsp; W skrypcie Sekretarza 4 K jest maksymalnego rozmiaru żetonu. (Token jest każdy rozpoznawalny element składnia). W poprzednim przykładzie skryptów HKCR , HKEY_CURRE&NT_USER , 'MyVeryOwnKey' , i 'HowGoesIt?' są wszystkie tokeny.