Ejemplos de secuencias de comandos de registro

Los ejemplos de secuencias de comandos en este artículo muestran cómo agregar una clave al registro del sistema; registrar el servidor COM Secretario; y especificar múltiples árboles de análisis.

Agregar una clave a HKEY_CURRENT_USER

El árbol de análisis siguiente ilustra un sencillo script que agrega una clave única para el registro del sistema. En particular, el script agrega la clave, MyVeryOwnKey , a HKEY_CURRENT_USER . También asigna el valor de cadena predeterminado de HowGoesIt? a la nueva clave:

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

Esta secuencia de comandos puede ampliarse fácilmente para definir las siguientes subclaves múltiples:

HKCU
{
 nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
   {
      'HasASubkey'
      {
         'PrettyCool'? = d '55'
         Val 'A&NameValue' = s 'WithANamedValue'
      }
   }
}

Ahora, el script agrega una subclave, HasASubkey , a MyVeryOwnKey . A esta subclave, añade tanto el PrettyCool? subclave (con un valor DWORD predeterminado de 55) y el ANameValue denominado valor (con un valor de cadenaWithANamedValue).

Registro del servidor COM Secretario

La siguiente secuencia de comandos registra el propio servidor de registro COM.

HKCR
{
 nbsp; ATL.Secretario = s ' ATL 2.0 clase de registrador
   {
      CLSID = s '{44EC053A-400F-11D0-9DCD-00A0C90391D3}'
   }
   &NoRemove CLSID
   {
      ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
                   s ' ATL 2.0 clase de registrador
      {
         ProgID = s ' ATL.Secretario '
         InprocServer32 = s '% MODULE %'
         {
            Val ThreadingModel = s 'Piso'
         }
      }
   }
}

En tiempo de ejecución, agrega este árbol de análisis la ATL.Registrar clave para HKEY_CLASSES_ROOT . A esta nueva clave, después de TI:

Ya CLSID es compartida, no debe quitarse en modo Unregister. La declaración, NoRemove CLSID , para ello, indicando que CLSID debe abrir en modo de registro y omite en modo Unregister.

La ForceRemove declaración proporciona una función de limpieza eliminando una clave y todas sus subclaves antes de volver a crear la clave. Esto puede ser útil si han cambiado los nombres de las subclaves. En este ejemplo de secuencias de comandos, ForceRemove comprueba si {44EC053A-400F-11D0-9DCD-00A0C90391D3} ya existe. Si lo hace,ForceRemove:

El árbol de análisis ahora agrega dos nuevas subclaves para {44EC053A-400F-11D0-9DCD-00A0C90391D3} . La primera clave, ProgID , obtiene un valor de cadena predeterminado que es el identificador ProgID. La segunda clave, InprocServer32 , obtiene un valor de cadena predeterminado, %MODULE% , es decir un valor de preprocesador explicó en la sección Parámetros reemplazables con (el Secretario del preprocesador), de este artículo. InprocServer32 obtiene también un valor con nombre, ThreadingModel , con un valor de cadenaApartment.

Especificar múltiples árboles de análisis

Para especificar más de un árbol de análisis en un script, simplemente colocar un árbol al final de otra. Por ejemplo, el siguiente script agrega la clave, MyVeryOwnKey , los árboles de análisis para ambos HKEY_CLASSES_ROOT yHKEY_CURRENT_USER:

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

&Notanbsp;  En una secuencia de comandos del registrador, 4 K es el tamaño máximo del símbolo (token). (Un símbolo (token) es cualquier elemento reconocible en la sintaxis). En el ejemplo anterior de secuencias de comandos, HKCR , HKEY_CURRENT_USER , 'MyVeryOwnKey' , y 'HowGoesIt?' son todos símbolos (tokens).

Index