domingo, 1 de maio de 2011

Como criar um arquivo .reg para adicionar chaves no Registro do Windows

backup do registro do Windows, que relata bem o que eles pensam sobre o registro, mas, se você sabe a chave que deve criar, sabe o tipo e o valor, saiba que não é necessário fazer aquele procedimento gigante para chegar até a chave que deseja, criar uma subchave e adicionar um valor a ela. Digo, não é preciso entrar no menu iniciar, digitar "regedit" no campo pesquisar e blablabla...

"A coisa" pode ser mais simples do que você pensa, por isso decidi criar este tutorial e detalhar todos os meus conhecimentos (que confesso que não são muitos), para lhe ajudar nas suas tarefas casuais ou até mesmo em tarefas do seu trabalho, se você for da área de TI da sua empresa.

Não pretendo dividir este tutorial em várias partes como é comum em sites (PART 1, PART 2, e assim por diante), e sim criar um único tutorial fazendo um pouco de brincadeiras para que possamos assimilar seu conteúdo da melhor maneira possível, então vamos lá;

Como adiciono chaves no registro sem abrir o regedit?


O modo mais simples para fazer isso, é utilizando arquivo de entradas do Registro, ou melhor, um arquivinho criado no bloco de notas com a extensão modificada de *.txt para *.reg, onde * (asterisco), é o nome do arquivo;

Então para iniciarmos, abra o bloco de notas (Iniciar/Todos os Programas/Acessórios/Bloco de Notas);

Sem escrever nada no arquivo, clique em "Arquivo", "Salvar Como...", coloque o nome do arquivo entre aspas, assim como este: "assim_eu_aprendo.reg", onde "assim_eu_aprendo", pode ser qualquer nome que quiser;

Como criar um arquivo .reg para adicionar chaves no Registro do Windows

Pronto, o primeiro passo nós fizemos, agora vamos ver como inserir conteúdo neste arquivo. Logo de cara, coloque a linha abaixo na primeira linha do seu arquivo *.reg. Uma dica interessante, é que após criar o arquivo .reg, não é possível abrir o mesmo com dois clique do mouse, clique com o botão direito do mouse sobre ele e selecione a opção "Editar", só assim será possível inserir seu conteúdo:

Windows Registry Editor Version 5.00

Depois desta primeira linha, de um enter para deixar uma linha em branco (só para organizar);

Depois da linha em branco, coloque a chave que deseja alterar, modificar, ou se ela não existir, criar. Por exemplo, eu quero criar uma chave dentro do seguinte caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\

Então, ficaria mais ou menos assim:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NOME DA SUBCHAVE

Onde NOME DA SUBCHAVE é o nome do que deseja criar;

Note que como foi descrito acima não funciona, as chaves devem estar entre [], logo:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NOME DA SUBCHAVE]

Perfeito, você entendeu como criar a chave, mas e para alterar uma chave existente (isso é o mais usado), logo:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NOME DA SUBCHAVE EXISTENTE]

Então nosso arquivo já está assim:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NOME DA SUBCHAVE EXISTENTE]


Note também, que estou pegando um valor qualquer para este exemplo, não precisa ser a chave que estou mostrando, isto é apenas um exemplo. Poderia ser por exemplo:

[HKEY_LOCAL_MACHINE\NOME DA SUBCHAVE EXISTENTE]

ou

[HKEY_CURRENT_USER\NOME DA SUBCHAVE]

E assim por diante. Para saber o nome completo de uma subchave, entre no editor de registro do Windows, clique com o botão direito do mouse sobre a chave e selecione a opção "Copiar nome da chave";

Continuando com nosso tutorial, agora vamos escrever o nome dessa tal NOME DA SUBCHAVE EXISTENTE que tanto falamos. Vou escolher a subchave "RUN", que comanda os programas que vão inicializar juntamente com o Windows. Logo:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]


Nosso arquivo já está quase ganhando forma de um .reg legítimo, mas ainda falta falar o que ele deve fazer, então vamos criar uma nova chave dentro da subchave descrita acima, dar um valor e um nome para ela, então vamos utilizar o nome TESTE.

Dentro do seu arquivo, coloque logo abaixo da última linha que criamos, o nome da chave, neste caso "TESTE" (com aspas e tudo mais), logo;


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"


Pronto, assim criamos o nome para nossa chave, mas ainda falta o tipo e o valor, se o tipo for, REG_SZ (valor da sequência), coloque apenas seu valor entre aspas, que o sistema já assume o tipo REG_SZ, caso contrário, digite o tipo sem aspas.

Para separar o nome do arquivo para o tipo, utilizamos um sinal de = (igual), logo:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=


Logo depois do sinal, vem o valor, estes podem ser:

REG_BINARY = hexadecimal
REG_DWORD = dword
REG_EXPAND_SZ = hexadecimal(2)
REG_MULTI_SZ = hexadecimal(7)

Então vamos criar uma chave do tipo DWORD, logo:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=dword


Para separar o tipo do valor da chave utilizamos : (dois pontos), logo:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=dword:


Agora inserimos o valor da chave;


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=dword:00000001


Ou seja, nossa chave tem o valor "1" (um);

Muito bom, neste ponto o arquivo está criado, mas e se quisermos adcionar mais chaves dentro de uma mesma subchave? Basta acrecentar mais linhas seguindo este padrão:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"


Mas e se eu quiser adicionar várias chaves em várias subchaves diferentes? Não tem problema, para isso, basta pular uma linha e iniciar o código novamente sem o cabeçalho Windows Registry Editor Version 5.00, logo:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PRIMEIRA SUBCHAVE]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SEGUNDA SUBCHAVE]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\TERCEIRA SUBCHAVE]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QUANTAS SUBCHAVES QUISER]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"


Então, onde é "TESTE", tipo e valor, modifique como precisar, seguindo o padrão;

Note que, se a chave não existir, o Editor cria uma nova chave com o nome que você deu a ela, ao contrário disso, ele modifica o valor de uma chave existente, muito cuidado com isso hein!

Muito bem, agora vamos excluir chaves!

Para excluir chaves, é mais simples, no lugar de tipo e valor coloque um sinal de - (menos), logo:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=-
"TESTE2"=-
"TESTE3"=-
"TESTE4"=-


Para excluir uma subchave completa, coloque o sinal de - (menos), antes do caminho completo da chave, logo:


Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run2]


Note que isto exclui a chave por completo contendo valores ou não, logo isto:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"


e isto:


Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]


Exclui a subchave e todas as chaves que ela contém, não faz diferença!

Agora vamos colocar em prática


Agora que você já sabe editar as chaves do registro via arquivo .reg, vamos colocar nosso conhecimento à prova;

Entre no editor de registro do Windows, e entre na subchave "HKEY_CURRENT_USER";

Só para você ver as modificações em tempo real. Crie um arquivo como o mostrado abaixo (lembre-se: bloco de notas, salvar como, .reg):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\1_NOSSA_SUBCHAVE]
"TESTE"=dword:00000001
"TESTE2"=dword:00000000
"TESTE3"="C:\\Windows\\system32\\teo.exe"
"TESTE4"="Estou aprendendo"


Salve o arquivo como "teste.reg" e execute o arquivo. Você vai notar que dentro da chave HKEY_CURRENT_USER, criamos uma nova subchave chamada 1_NOSSA_SUBCHAVE, e dentro da 1_NOSSA_SUBCHAVE, contém as chaves, TESTE, TESTE2, TESTE3 e TESTE4, agora vamos excluir:

Clique com o botão direito do mouse sobre o arquivo "teste.reg" e selecione "Editar", agora cole o código abaixo dentro do arquivo e pressione "CTRL S" para salvar.

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\1_NOSSA_SUBCHAVE]


Agora execute o arquivo e você verá que a 1_NOSSA_SUBCHAVE será excluída.

E aí, deu para entender?

1 comentários:

Postar um comentário