Przykłady skryptów rejestru

Przykłady skryptów, w tym temacie przedstawiają sposób dodać klucz do rejestru systemu, zarejestrować serwer COM sekretarza i określić wielu drzew analizy.

Dodać klucz do klucza HKEY_CURRENT_USER

Drzewo analizy przedstawiono prosty skrypt, który dodaje jednego klucza w rejestrze systemu.W szczególności skrypt dodaje klucz, MyVeryOwnKey, do HKEY_CURRENT_USER.Przypisuje również domyślną wartość string HowGoesIt? do nowego klucza:

HKEY_CURRENT_USER
{
   'MyVeryOwnKey' = s 'HowGoesIt?'
}

Ten skrypt można łatwo rozszerzyć, aby zdefiniować wiele podkluczy następująco:

HKCU
{
   'MyVeryOwnKey' = s 'HowGoesIt?'
   {
      'HasASubkey'
      {
         'PrettyCool?' = d '55'
         val 'ANameValue' = s 'WithANamedValue'
      }
   }
}

Teraz, skrypt dodaje podklucz, HasASubkey, do MyVeryOwnKey.Do tego podklucza dodaje zarówno PrettyCool? podklucz (domyślnie DWORD wartość 55) i ANameValue nazwaną wartość (wartość string WithANamedValue).

Zarejestruj serwer COM Rejestrator

Poniższy skrypt rejestruje samego serwera COM sekretarza.

HKCR
{
   ATL.Registrar = s 'ATL Registrar Class'
   {
      CLSID = s '{44EC053A-400F-11D0-9DCD-00A0C90391D3}'
   }
   NoRemove CLSID
   {
      ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
                   s 'ATL Registrar Class'
      {
         ProgID = s 'ATL.Registrar'
         InprocServer32 = s '%MODULE%'
         {
            val ThreadingModel = s 'Apartment'
         }
      }
   }
}

W czasie wykonywania tej analizy drzewa dodaje ATL.Registrar klucza do HKEY_CLASSES_ROOT.Do tego nowego klucza następnie it:

  • Określa ATL Registrar Class jako klucz domyślny ciąg wartości.

  • Dodaje CLSID jako podklucz.

  • Specifies {44EC053A-400F-11D0-9DCD-00A0C90391D3} for CLSID.(Ta wartość jest Sekretarz CLSID do użycia z CoCreateInstance.)

Ponieważ CLSID jest udostępniony, to nie powinny być usuwane w trybie Wyrejestruj.Oświadczenie, NoRemove CLSID, zachowaniem wskazująca, że CLSID powinny być otwarte w trybie rejestru i ignorowane w trybie Wyrejestruj.

ForceRemove Instrukcja zawiera funkcję porządkowaniem usuwając klucz i wszystkie jego podklucze przed ponownego tworzenia klucza.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.If it does, ForceRemove:

  • Usuwa rekursywnie {44EC053A-400F-11D0-9DCD-00A0C90391D3} i wszystkich jego podkluczy.

  • Odtwarza {44EC053A-400F-11D0-9DCD-00A0C90391D3}.

  • Dodaje ATL Registrar Class jako domyślna wartość string {44EC053A-400F-11D0-9DCD-00A0C90391D3}.

Doda dwóch nowych podkluczy do analizy drzewa {44EC053A-400F-11D0-9DCD-00A0C90391D3}.Pierwszy klucz ProgID, pobiera ciąg domyślną wartość identyfikatora ProgID.Drugi klucz InprocServer32, pobiera wartość domyślną ciąg %MODULE%, czyli wartość preprocesora wyjaśnione w sekcji Za pomocą parametrów wymiennych (Sekretarz Preprocessor), niniejszego artykułu.InprocServer32pobiera także wartości nazwane, ThreadingModel, wartość ciągu Apartment.

Określanie wielu drzew analizy

Aby określić więcej niż jeden rozbiór skryptu, po prostu umieścić jednego drzewa na końcu drugiego.Na przykład, poniższy skrypt dodaje klucz, MyVeryOwnKey, drzew analizy dla obu HKEY_CLASSES_ROOT i HKEY_CURRENT_USER:

HKCR
{
   'MyVeryOwnKey' = s 'HowGoesIt?'
}
HKEY_CURRENT_USER
{
   'MyVeryOwnKey' = s 'HowGoesIt?'
}

[!UWAGA]

W skrypcie sekretarza 4 K jest maksymalny rozmiar token.(Token jest każdy rozpoznawalny element w składni). W poprzednim przykładzie skryptów HKCR, HKEY_CURRENT_USER, 'MyVeryOwnKey', i 'HowGoesIt?' są wszystkie tokeny.

Zobacz też

Informacje

Tworzenie skryptów w rejestrze