Przykłady skryptów rejestru

Przykłady skryptów w niniejszym artykule przedstawiają sposób dodać klucz rejestru systemu; rejestr serwer COM Sekretarza; i określić wiele analizy drzewa.

Dodać klucz HKEY_CURRENT_USER

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).

Rejestr serwer COM Sekretarza

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:

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:

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.

Określanie wielu drzew analizy

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.

Index