Приклади сценаріїв реєстру

Приклади сценаріїв у цій статті продемонструвати, як додати ключ до системного реєстру; зареєструвати реєстратора COM сервера; Вкажіть кілька дерева синтаксичного аналізу.

Додати ключ до HKEY_CURRENT_USER

Наступні розбору дерево ілюструє простий скрипт, який додає одним ключем до системного реєстру. Зокрема, сценарій додає ключа, MyVeryOwnKey , а також HKEY_CURRENT_USER . Він також призначає значення рядка за промовчанням HowGoesIt? новим ключем:

HKEY_CURRE&NT_USER
{
 nbsp; 'MyVeryOwnKey' = s 'HowGoesIt'?
}

Цей сценарій може бути легко розширена визначити кілька підрозділи наступним чином:

HKCU
{
 nbsp; 'MyVeryOwnKey' = s 'HowGoesIt'?
   {
      'HasASubkey'
      {
         "PrettyCool?" = d '55'
         Валь 'A&NameValue' = 'WithANamedValue' s
      }
   }
}

Тепер, сценарій додає підрозділ, HasASubkey , а також MyVeryOwnKey . До цього підрозділу, він додає, як на PrettyCool? підрозділу (з за замовчуванням значення DWORD 55) і ANameValue їм значення (вартість stringWithANamedValue).

Зареєструвати реєстратора COM сервера

Наступні сценарій реєструє самого реєстратора COM сервера.

HKCR
{
 nbsp; ATL.Реєстратор = s ' ATL 2.0 реєстратора клас
   {
      CLSID = '{44EC053A-400F-11D0-9DCD-00A0C90391D3}' s
   }
   &NoRemove CLSID
   {
      ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
                   s ' ATL 2.0 реєстратора клас
      {
         ProgID = s ' ATL.Реєстратор '
         InprocServer32 = '% МОДУЛЬ' s
         {
            Валь ThreadingModel = 'Квартири' s
         }
      }
   }
}

Під час виконання, це дерево розбору додає до ATL.Registrar ключ до HKEY_CLASSES_ROOT . До цього новий ключ вона потім:

Оскільки CLSID є спільні, вона не повинні бути видалені в Unregister режимі. Заява, NoRemove CLSID , робить це за вказівкою, що CLSID повинна бути відкритим у режимі без реєстрації і ігнорується в Unregister режимі.

На ForceRemove заяву надає функцію ведення домашнього господарства шляхом видалення ключа та її підрозділи перед відтворюючи ключ. Це може бути корисним, якщо імена підрозділах змінилися. У цьому прикладі сценаріїв ForceRemove перевіряє, якщо {44EC053A-400F-11D0-9DCD-00A0C90391D3} вже існує. Якщо це так,ForceRemove:

Дерево розбору тепер додає два нових підрозділів до {44EC053A-400F-11D0-9DCD-00A0C90391D3} . Першим ключовим, ProgID , отримує значення рядка за промовчанням, яке програми. Другий ключ, InprocServer32 , отримує значення рядка, %MODULE% , тобто препроцесора значення описано в розділі, За допомогою параметрів змінних (реєстратора препроцесор), ця стаття. InprocServer32 також отримує іменовані значення, ThreadingModel , рядок на сумуApartment.

Вкажіть кілька дерева синтаксичного аналізу

Щоб вказати більше одного аналізу маніфесту дерево в сценарій, просто помістіть одного дерева в кінці іншого. Наприклад, наступні скріпт додає ключа, MyVeryOwnKey , до дерева синтаксичного аналізу, для обох HKEY_CLASSES_ROOT іHKEY_CURRENT_USER:

HKCR
{
 nbsp; 'MyVeryOwnKey' = s 'HowGoesIt'?
}
HKEY_CURRE&NT_USER
{
   'MyVeryOwnKey' = s 'HowGoesIt'?
}

Приміткаnbsp;  У сценарії реєстратора 4 K є максимального розміру маркера. (Маркер-це будь-який невідомий елемент у синтаксис). У попередньому прикладі сценаріїв HKCR , HKEY_CURRE&NT_USER , 'MyVeryOwnKey' , і 'HowGoesIt?' мають всі маркери.

Index