Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os exemplos de script neste tópico demonstram como adicionar uma chave ao Registro do sistema, registrar o servidor COM do Registrador 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 padrão HowGoesIt da cadeia de caracteres à 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, ela adiciona a subchave PrettyCool (com um valor padrão DWORD de 55) e o valor nomeado ANameValue (com um valor de cadeia de caracteres de WithANamedValue).
Registrar o servidor COM do Registrador
O script a seguir registra o servidor COM do Registrador propriamente dito.
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 chave ATL.Registrar a HKEY_CLASSES_ROOT. Para essa nova chave, ela faz o seguinte:
Especifica
ATL Registrar Classcomo o valor de 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.)
Como CLSID é compartilhado, ele não deve ser removido no modo Cancelar registro. A instrução, NoRemove CLSID, faz isso indicando que CLSID deve ser aberta no modo de Registrador e ignorada no modo Cancelar registro.
A instrução ForceRemove fornece uma função de limpeza removendo uma chave e todas as respectivas subchaves antes de recriar a chave. Isso poderá ser útil se os nomes das subchaves tiverem sido alterados. Neste exemplo de script, ForceRemove verifica se {44EC053A-400F-11D0-9DCD-00A0C90391D3} já existe. Se já existir, ForceRemove:
Excluirá recursivamente
{44EC053A-400F-11D0-9DCD-00A0C90391D3}e todas as respectivas subchaves.Recriará
{44EC053A-400F-11D0-9DCD-00A0C90391D3}.Adicionará
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 a {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 Como usar parâmetros substituíveis (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 seguinte 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.