Entendendo e Utilizando o Registro do Windows
Entendendo e Utilizando o Registro do Windows
Primeiramente gostária de começar dizendo o que é, e para que serve o registro do Windows.
Ele nada mais é do que um sistema de armazenamento de dados, sendo sua função armazenar configurações, tanto do Windows, quanto de programas.
Ele pode ser acessado fácilmente pelo famoso Regedit, para acessa-lo vá em “Iniciar” > “Executar”, digite “regedit.exe” (sem as aspas), dê enter, e pimba! O registro do windows estará na sua frente, sinta-se a vontade para navegar por ele, mas não altere nada sem saber o que está fazendo.
Apesar de parecer um bixo de 7 cabeças, o registro do Windows não é tão complicado quanto parece. Basta um pouco de atenção e conhecimento básico sobre seus elementos e você saberá como usá-lo.
Conhecendo seus elementos:
1: Chaves raízes
2: Outras chaves / chaves filhas
3: Valores e dados dos valores
4: Caminho da chave atual que está sendo visualizada
Detalhando mais:
Chaves, Válores e Dados
Uma chave no registro do Windows tem as mesmas funções das pastas que você visualiza no seu Windows Explorer, a função de organizar objetos, neste caso, organizar os valores. Então, cada icone de pasta no Regedit representa obviamente uma chave.
Os valores não são “valores” apenas, eles são um conjunto que é identificado por um nome (nome do valor, coluna nome na imagem a cima), e que possui dados gravados dentro dele (coluna dados na imagem acima). Então neste caso, um nome de valor retorna dados.
Os dados por sua vez podem ser de vários tipos, os mais comuns são:
REG_SZ: texto simples com uma unica linha de texto, como uma string em programação por exemplo.
REG_DWORD: valor numérico, que pode ser definido em decimais ou hexadecimais. (Perceba que na visualização, o dados desse tipos são exibidos em hexadecimal e entre parenteses está seu correspondente em decimal)
REG_BINARY: dados em formato binário, pode ser definido tanto em hexadecimal quando em caracteres normais.
REG_MULTI_SZ: igual ao REG_SZ, porém aqui eu posso trabalhar com várias linhas de texto.
REG_EXPAND_SZ: igual ao RZ_SZ, porém com algumas diferenças técnicas que não fazem muitas diferenças para nós.
É muito importante que você não confunda chaves, valores e dados, pois são coisas distintas.
Chaves Raízes
Existem cerca de 7 chaves raizes, elas são absolutas, fixas, mas como pode-se ver na imagem, só há 5 em uso. Mas o que aconteceu com as outras? acredito serem usadas em sistemas antigos apenas, Windows 95, 98 por exemplo. no Windows XP, Vista e 7 elas já não estão mais presentes, pelo menos ao nosso nível de acesso como usuários.
As chaves raizes (root keys) comuns são:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
Essa ultima pórem não será mensionada, pois é um pouco mais a fundo na configuração do sistema, perfis de hardware e etc., raramente será usada em sistemas de informação.
As chaves raízes são a base para todas as outras chaves, não existe nenhuma chave fora das chaves raízes.
A Chave Raiz HKEY_CLASSES_ROOT
Essa chave contém informações sobre tipos de arquivos, programas associados a arquivos.
A Chave Raiz HKEY_CURRENT_USER
Essa chave contém informações de configuração personalidas para o usuário que está logado no Windows, portanto seu conteúdo será diferente para cada usuário do Windows.
A Chave Raiz HKEY_LOCAL_MACHINE
Contém informações de configuração que são globais, tanto para o usuário, como também configurações do Windows, enumeração dos dispositivos de hardware, serviços do Windows entre outras informações.
A Chave Raiz HKEY_USERS
Esta chave contém as configurações de cada usuário diferente que o Windows usa, por exemplo, contém uma sub-chave que é identica a chave raiz HKEY_CURRENT_USER, e outras sub-chaves referentes a usuários internos do Windows (SYSTEM, LOCALMACHINE, NETWORK, entre outros).
Quando disse que há uma sub-chave identica a chave raiz HKEY_CURRENT_USER dentro de HKEY_USERS, aí entra o conceito de carregar ou descarregar ramificações, comentarei futuramente sobre isso em outro tópico, mas a grosso modo significa que um arquivo físico pode ser carregado em diferentes lugares dentro do registro do Windows. Isso acontece também com a chave raiz HKEY_CLASSES_ROOT, que é na verdade sub-chave de outra chave, e foi referenciada como chave raiz.
Indo um pouco além da teoria
As chaves HKEY_CURRENT_USER\Software e HKEY_LOCAL_MACHINE\Software são destinadas a guardar diretamente configurações de programas, sendo uma para configurações de cada usuário, e outra para configurações globais, como dito anteriormente. Acessando essas chaves é possivel visualizar configurações avançadas e internas aos programas, e até modificar essas configurações, uma vez que você saíba o que está fazendo é claro.
Acontece muitas vezes de algum programa parar de funcionar, e ao procurar suporte, você entra algo que te peça para apagar uma chave do registro, e você faz e funciona, geralmente está chave está dentro de HKEY_CURRENT_USER\Software ou HKEY_LOCAL_MACHINE\Software, pois é justamente onde os programas guardam suas configurações. Ao navegar por elas note que são organizadas pelo nome do fabricante e depois pelo nome do programa, por exemplo, o Adobe Reader: HKEY_LOCAL_MACHINE\Software\Adobe\Reader, mas você poderia encontrar também HKEY_LOCAL_MACHINE\Software\Reader diretamente sem o fabricante, o que é permitido também. Dentro dessas sub-chaves estão os valores que constituem as configurações dos programas.
Caso você esteja desenvolvendo um programa e deseje guardar as configurações dentro do registro do Windows, essas chaves são as chaves destinadas para isso.
Bom pessoal, minha intenção neste tópico era dar uma noção básica de como é organizado o registro do Windows, e falar sobre as chaves que os programas usam, que são as partes mais usadas geralmente.
Autor: Paulo César B. S.
Escrito em 05/08/2010.
Deixe seu comentário: dúvidas, sugestões, críticas, elogios