Примеры сценариев реестра

В сценариев в этой статье примерах как добавить ключ системного реестра; Регистрация сервера 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» = s «WithANamedValue»
      }
   }
}

Теперь, сценарий добавляет подраздел, HasASubkey , до MyVeryOwnKey . В этот подраздел, он добавляет оба PrettyCool? подраздела (значение по умолчанию типа DWORD из 55) и ANameValue с именем value (со строковым значениемWithANamedValue).

Регистрация COM-сервера регистратора

Следующий сценарий регистрирует сам сервер COM регистратором.

HKCR
{
 nbsp; ATL.Регистратор = s ' ATL 2.0 регистратор класса
   {
      CLSID = s «{44EC053A-400F-11D0-9DCD-00A0C90391D3}»
   }
   &NoRemove CLSID
   {
      ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
                   s ' ATL 2.0 регистратор класса
      {
         Идентификатор progID = s ' ATL.Регистратор '
         InprocServer32 = s «% MODULE %»
         {
            Вал ThreadingModel = s «Квартира»
         }
      }
   }
}

Во время выполнения, это дерево разбора добавляет ATL.Registrar ключ к HKEY_CLASSES_ROOT . Этот новый ключ он затем:

Поскольку CLSID является общим, не удалить его в режиме Unregister. Заявление, NoRemove CLSID , делает это, о том, что CLSID открыт в режиме Register и игнорируется в режиме Unregister.

ForceRemoveОператор предоставляет функцию хозяйствования путем удаления ключа и все его подразделы до повторного создания ключа. Это может быть полезно, если изменились имена подразделов. В этом примере сценария ForceRemove проверяет, если {44EC053A-400F-11D0-9DCD-00A0C90391D3} уже существует. Если это так,ForceRemove:

Дерева разбора теперь добавляет два новых подраздела для {44EC053A-400F-11D0-9DCD-00A0C90391D3} . Первый ключ, ProgID , получает строковое значение по умолчанию, которое является 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