Partilhar via


Exemplos de scripts do Registro

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 Class como o valor da cadeia de caracteres padrão da chave.

  • Adiciona CLSID como uma subchave.

  • Especifica {44EC053A-400F-11D0-9DCD-00A0C90391D3} para CLSID. (Esse valor é o CLSID do Registrador para uso com CoCreateInstance.)

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 Class como 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.

Ver também

Criando scripts de Registo