20/02/11

Como Funciona o Registo do Windows

O registo (registry) é uma base de dados hierárquica que contêm virtualmente todas as informações sobre a configuração do teu computador. Na versão anterior do Windows, estas configurações encontravam-se em ficheiros como o config.sys, autoexec.bat, win.ini, system.ini, control.ini e por ai adiante. Por esta explicação já podes compreender como é importante o registo. A estrutura do registo é similar à estrutura dos ficheiros. ini, mas vai além do conceito dos ficheiros .ini porque oferece uma estrutura hierárquica, similar às pastas e ficheiros do disco rígido. De facto, o procedimento usado de forma a chegar aos elementos do registo é similar à forma de chegar as pastas e ficheiros. Nesta secção examinarei unicamente o registo Win95\98 embora o do NT seja bastante similar.

O EDITOR DO REGISTRO (REGEDIT.EXE)
O editor do registo é uma utilidade que dá pelo nome de arquivo “regedit.exe” que te permite ver, procurar, modificar e guardar a base de dados do registo do Windows. O editor do registo não te deixa só validar os valores que escreveres : permite qualquer operação. Assim terás que prestar muita atenção, porque nenhuma mensagem de erro te será mostrada se fizeres asneira ou se deres uma operação errada ao registo.
Para lançar o editor do registo digita simplesmente RegEdit.exe (no WinNT digita RegEdt32.exe com privilégios de administrador). O editor do registo é dividido em duas secções no lado esquerdo tens a estrutura hierárquica da base de dados (a janela parece a do Windows Explorer) no lado direito tens os valores.

O registo é organizado em chaves (keys) e subchaves (subkeys). Cada chave contem uma entrada de valor, cada uma tem um nome, um tipo ou uma classe e o seu próprio valor. O nome é um enlace que identifica o valor com a chave. O comprimento e o formato do valor são dependentes do tipo de dados.

Como podes ver com o editor de registo, o registo é dividido em cinco chaves principais: não há nenhuma maneira de adicionar ou apagar chaves a este nível. Só duas destas chaves são guardadas eficazmente no disco rígido : HKEY_LOCAL_MACHINE e HKEY_USERS. As outras são unicamente filiais/ramificações das chaves principais ou são criadas dinamicamente pelo Windows.

HKEY_LOCAL_MACHINE
Esta chave contem todo e qualquer hardware, aplicações e informação dos serviços. As informações de vários componentes de hardware são actualizadas automaticamente quando o computador faz a boot ( acção de desligar e voltar a ligar o computador ). Os dados armazenados nesta chave são compartilhados por todos os Utilizadores. Esta chave tem muitas subchaves:

Config
contem dados de configuração para configurações de outros tipos de Hardware.

Enum
São os dados dos dispositivos. Para cada dispositivo no teu computador, podes encontrar a informação tal como o tipo de dispositivo, o fabricante do Hardware, os drivers do dispositivo e a configuração.

Hardware
esta chave contem uma lista das portas de série, dos processadores e de processadores de ponto flutuante.


Network
Contem a informação da rede.

Security
Mostra a informação da segurança da rede.

Softwares
Esta chave contem dados sobre o software instalado.

System
Contém os dados que verificam quais os drivers dos dispositivos que são usados pelo Windows e como estes são configurados.

HKEY_CLASSES_ROOT
Esta chave é um pseudonimo da ramificação HKEY_LOCAL_MACHINE\Software\Classes e contem as informações dos OLE, do sistema de pegar e arrastar (drag’n’drop), dos atalhos e da associação de ficheiros.

HKEY_CURRENT_CONFIG
Esta chave é também pseudonimo. Contem uma cópia da ramificação HKEY_LOCAL_MACHINE\Config, com a configuração actual do computador.

HKEY_DYN_DATA
Algumas informações guardadas no registo mudam com frequência, deste modo o Windows mantém parte do registo na memória em vez de o guardar no disco rígido. Por exemplo, armazena a informação de PnP e o desempenho de computador. Esta chave tem duas subchaves :

Config Manager (Gestor da Configuração)
Esta chave contem todos os códigos do problema de informação do Hardware, e ainda os seus estatutos. Há também a subchave HKEY_LOCAL_MACHINE\Enum, mas escrito de uma maneira diferente.

PerfStats
Contem dados do desempenho sobre o sistema e a rede.

HKEY_USERS
Esta importante chave contem a subchave .Default e uma outra chave para cada usuário que tiver acesso ao computador. Se houver apenas um usuário, so existe a chave .Default. Cada subchave mantem as preferências de cada usuário, como as cores do desktop, das fontes usadas e também das definições de muitos dos programas. Se abrires uma subchave de um usuário encontrarás cinco subchaves importantes:

AppEvent (Eventos de Aplicações)
Contem o caminho (path) dos ficheiros audio que o Windows toca/usa quando acontecem alguns eventos.

Control Panel (Painel de Controle)
Aqui encontram-se as configurações definidos no painel de controle. Costumavam estar guardados nos ficheiros win.ini e control.ini.

Keyboard Layouts (disposições do teclado)
Contem uma voz que identifica a verdadeira disposição do teclado como é ajustada no painel de controle.

Network (Rede)
Esta chave guarda subchaves que descrevem atalhos actuais e recentes da rede.

RemoteAccess (Acesso Remoto)
As definições do acesso remoto encontram-se guardadas aqui.

Software
Contem todas as definições do software. Estes dados eram armazenados no ficheiro win.ini e em ficheiros confidenciais do .ini.


HKEY_CURRENT_USER
é um pseudonimo do actual usuário de HKEY_USERS. Se o teu computador não estiver configurarado no modo de multiusuários, este indica para a subchave .Default do HKEY_USERS.

Descrição do ficheiro .reg
Aqui assumo que já tenhas um ficheiro .reg no teu disco rígido e que queiras saber mais sobre como este está estructurado.ATENÇÃO : não faças duplo-click sobre o ficheiro .reg ou o que quer que este ficheiro contenha lá dentro será adicionado ao registo, se o fizeres e se tal acontecer, tambem, surge logo a mensagem de atenção por parte do computador.
Agora, se queres ver as propriedades do ficheiro .reg abre-o no Notepad.
Para faze-lo abre primeiro o notepad indo ao Start>Programs>Accessories>Notepad. Uma vez aí vai a Ficheiro (File) abre o menu e clicka em abrir (open) e abre o ficheiro .reg.
O que diferencia os ficheiros .reg de outros ficheiros é a palavra REGEDIT4. É a primeira palavra de todos os ficheiros .reg. Se esta palavra não estiver lá então o editor do registo não pode reconhecer o ficheiro como sendo um ficheiro .reg.
Em seguida surge então a declaração chave que tem que ser feita dentro dos suportes quadrados e com o caminho inteiro (full path).Se a chave não existe, ela será então criada. Depois da declaração chave verás uma lista de valores que têm que ser ajustados na chave particular dos valores do registo.
O valor parecer-se-á com algo assim: "value name"=type:value (“nome do valor”=tipo:valor)
O value name (nome do valor) está entre aspas. O type (tipo) pode estar ausente de valores string (de enlace), dword: para valores dword e hex: para valores binarios e para todos os outros valores que tenhas de usar o código hex(#):, onde # indica o código API do tipo.

Nota Importante : enlace expandido tem o código API = 2 e o enlace estendido tem o código API = 7

Como podes ver, os enlaces estão entre aspas , dword é hexadecimal e binary (binário) é uma sequência de pares hexadecimais do byte, com uma vírgula entre cada. Se quiseres adicionar uma barra traseira num enlace lembra-te sempre de repeti-la duas vezes, para que o valor "c:\Windows" seja "c:\\Windows". Antes de escrever um ficheiro novo do .reg certifica-te de fazer isto ou receberás uma mensagem de erro.


Argumentos da linha de comando do Registry:
FILENAME.REG para fundir um ficheiro .reg com o registo.

/L:SYSTEM para especificar a posição de SYSTEM.DAT

/R:USER para especificar a posição de USER.DAT

/e FILENAME.REG [ CHAVE ] para exportar o registo para um ficheiro.
Se a chave for especificada, a filial/ramo inteira será exportada.

/c FILENAME.REG para substituir o registo inteiro por um ficheiro .reg.

/s para funcionar silenciosamente, sem informação ou avisos e alertas.

0 comentários: