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.
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).
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:
ATL Registrar 2.0 Class como valor de cadena predeterminado de la clave.CLSID como una subclave.{44EC053A-400F-11D0-9DCD-00A0C90391D3} para CLSID . (Este valor es el registrador CLSID para uso con CoCreateInstance.)
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:
{44EC053A-400F-11D0-9DCD-00A0C90391D3} y todas sus subclaves.{44EC053A-400F-11D0-9DCD-00A0C90391D3}.ATL Registrar 2.0 Class como el valor de cadena predeterminado para{44EC053A-400F-11D0-9DCD-00A0C90391D3}.
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.
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).