Sdílet prostřednictvím


Příklady skriptování registru

Příklady skriptování v tomto tématu ukazují, jak lze přidat klíč registru systému registrace serveru COM registrátora a zadat více stromů analýzy.

Přidat klíč HKEY_CURRENT_USER

Následující analýzy stromu ukazuje jednoduchý skript, který přidá jeden klíč registru systému.Zejména skript přidá klíč, MyVeryOwnKey , na HKEY_CURRENT_USER .Přiřadí výchozí hodnotu řetězce HowGoesIt? na nový klíč:

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

Tento skript lze snadno rozšířit více podklíčů definovat takto:

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

Nyní skript přidá podklíče, HasASubkey , na MyVeryOwnKey .Tento podklíč obě přidá PrettyCool? podklíč (výchozí hodnota je DWORD hodnotu 55) a ANameValue pojmenovanou hodnotu (s hodnotou řetězce WithANamedValue ).

Registrace serveru COM registrátora

Následující skript registruje samotný server COM registrátora.

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'
         }
      }
   }
}

V době spuštění této analýzy stromu přidá ATL.Registrar klíčů na HKEY_CLASSES_ROOT .Tento nový klíč pak it:

  • Určuje ATL Registrar Class jako výchozí hodnotu řetězce na klíč.

  • Přidá CLSID jako podklíč.

  • Specifies {44EC053A-400F-11D0-9DCD-00A0C90391D3} for CLSID.(Tato hodnota je tajemníka CLSID pro použití s CoCreateInstance .)

Od CLSID je sdílena, by neměla být odebrána v režimu Unregister.Prohlášení, NoRemove CLSID , provádí označující, že CLSID by měla být otevřena v režimu rejstříku a v režimu Unregister ignorovány.

ForceRemove Příkaz poskytuje funkci domácnosti odebráním klíč a všechny jeho podklíče před obnovení klíče.To může být užitečné, pokud se změnily názvy podklíčů.V tomto příkladu skriptu ForceRemove zkontroluje, pokud {44EC053A-400F-11D0-9DCD-00A0C90391D3} již existuje.If it does, ForceRemove:

  • Odstraní rekurzivně {44EC053A-400F-11D0-9DCD-00A0C90391D3} a všechny jeho podklíče.

  • Znovu vytvoří {44EC053A-400F-11D0-9DCD-00A0C90391D3}.

  • Přidá ATL Registrar Class jako výchozí hodnotu řetězce pro {44EC053A-400F-11D0-9DCD-00A0C90391D3}.

Analýzy stromu nyní přidá dvě nové podklíče {44EC053A-400F-11D0-9DCD-00A0C90391D3}.První klíč ProgID , získá výchozí hodnotu řetězce, který je identifikátor ProgID.Druhý klíč InprocServer32 , získá výchozí hodnotu řetězce %MODULE% , je preprocesoru hodnotu vysvětleny v části Pomocí nahraditelné parametry (tajemníka předprocesoru), tohoto článku.InprocServer32také získává pojmenovanou hodnotu ThreadingModel , s hodnotou řetězce Apartment .

Určit více stromů analýzy

Pokud chcete zadat více než jeden analýzy stromu ve skriptu, stačí umístíte jeden strom na konci druhého.Například následující skript přidá klíč, MyVeryOwnKey , na stromy analýzy obou HKEY_CLASSES_ROOT a HKEY_CURRENT_USER :

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

[!POZNÁMKA]

Ve skriptu Registrátor 4 kB je maximální velikost tokenu.(Token je libovolný prvek lze rozpoznat v syntaxi). V předchozím příkladu skriptu HKCR , HKEY_CURRENT_USER , 'MyVeryOwnKey' , a 'HowGoesIt?' jsou všechny tokeny.

Viz také

Referenční dokumentace

Vytváření skriptů registrátora