Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os exemplos de script neste tópico demonstram como adicionar uma chave ao registro do sistema, registrar o servidor COM do Registrar e especificar várias árvores de análise.
Adicionar uma chave a HKEY_CURRENT_USER
A árvore de análise a seguir ilustra um script simples que adiciona uma única chave ao registro do sistema. Em particular, o script adiciona a chave, MyVeryOwnKey, a HKEY_CURRENT_USER. Ele também atribui o valor de cadeia de caracteres padrão de HowGoesIt à nova chave:
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
Esse script pode ser facilmente estendido para definir várias subchaves da seguinte maneira:
HKCU
{
'MyVeryOwnKey' = s 'HowGoesIt'
{
'HasASubkey'
{
'PrettyCool' = d '55'
val 'ANameValue' = s 'WithANamedValue'
}
}
}
Agora, o script adiciona uma subchave, HasASubkey, a MyVeryOwnKey. A essa subchave, ele adiciona a PrettyCool subchave (com um valor padrão DWORD de 55) e o ANameValue valor nomeado (com um valor de cadeia de caracteres de WithANamedValue).
Registar o Servidor COM do Registrador
O script a seguir registra o próprio servidor COM do Registrador.
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'
}
}
}
}
Em tempo de execução, essa árvore de análise adiciona a ATL.Registrar chave ao HKEY_CLASSES_ROOT. Para esta nova chave, então:
Especifica
ATL Registrar Classcomo o valor da cadeia de caracteres padrão da chave.Adiciona
CLSIDcomo uma subchave.Especifica
{44EC053A-400F-11D0-9DCD-00A0C90391D3}paraCLSID. (Esse valor é o CLSID do Registrador para uso comCoCreateInstance.)
Uma vez que CLSID é compartilhado, ele não deve ser removido no modo Unregister. A instrução NoRemove CLSID, , faz isso indicando que CLSID deve ser aberta no modo Registrar e ignorada no modo Unregister.
A instrução ForceRemove fornece uma função de manutenção removendo uma chave e todas as suas subchaves antes de recriar a chave. Isso pode ser útil se os nomes das subchaves tiverem sido alterados. Neste exemplo de script, ForceRemove verifica se {44EC053A-400F-11D0-9DCD-00A0C90391D3} já existe. Em caso afirmativo, ForceRemove:
Exclui recursivamente
{44EC053A-400F-11D0-9DCD-00A0C90391D3}e todas as suas subchaves.Recria
{44EC053A-400F-11D0-9DCD-00A0C90391D3}.Adiciona
ATL Registrar Classcomo o valor de cadeia de caracteres padrão para{44EC053A-400F-11D0-9DCD-00A0C90391D3}.
A árvore de análise agora adiciona duas novas subchaves ao {44EC053A-400F-11D0-9DCD-00A0C90391D3}. A primeira chave, ProgID, obtém um valor de cadeia de caracteres padrão que é o ProgID. A segunda chave, InprocServer32, obtém um valor de cadeia de caracteres padrão, %MODULE%, que é um valor de pré-processador explicado na seção Usando parâmetros substituíveis (o pré-processador do registrador) deste artigo.
InprocServer32 também obtém um valor nomeado, ThreadingModel, com um valor de cadeia de caracteres de Apartment.
Especificar várias árvores de análise
Para especificar mais de uma árvore de análise em um script, basta colocar uma árvore no final de outra. Por exemplo, o script a seguir adiciona a chave, MyVeryOwnKey, às árvores de análise para ambos HKEY_CLASSES_ROOT e HKEY_CURRENT_USER:
HKCR
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
HKEY_CURRENT_USER
{
'MyVeryOwnKey' = s 'HowGoesIt'
}
Observação
Em um script do Registrador, 4K é o tamanho máximo do token. (Um token é qualquer elemento reconhecível na sintaxe.) No exemplo de script anterior, HKCR, , HKEY_CURRENT_USER'MyVeryOwnKey', e 'HowGoesIt' são todos tokens.