Introdução
O Registro é um grande banco de dados utilizado pelo Windows 9x para o armazenamento de informações referentes a programas e periféricos instalados, além de informações sobre preferências dos usuários. Ele já existia no Windows 3.x, porém era pouco utilizado pelos programadores, que preferiam a utilização de arquivos do tipo "INI". Para quem não sabe, arquivos INI armazenam informações de configuração de um determinado programa. O próprio Windows utiliza basicamente dois arquivos INI para armazenar suas configurações: Win.ini, que armazena informações sobre programas instalados e System.ini, que armazena informações sobre periféricos instalados (hardware). No caso do Windows 3.x, cada programa criava um arquivo INI próprio. Por exemplo, o Word 6 criava e utilizava um arquivo chamado Winword6.ini para armazenar suas configurações - como, por exemplo, o diretório onde o Word ia buscar seus modelos. A utilização de arquivos INI apresentava alguns problemas. Para começar, quanto mais programas instalados em seu micro, mais arquivos INI eram criados no diretório do Windows. Programas antigos em sua maioria não possuíam assistentes para a sua desinstalação do micro. Com isso, muito usuários, para remover o programa do micro, acabavam simplesmente apagando manualmente o diretório ocupado pelo programa (com o comando Deltree ou similar) e seus ícones no Windows. É claro que a maioria acabava esquecendo de apagar os arquivos INI do programa que ficavam armazenados no diretório do Windows (aliás, esse procedimento ainda tinha um agravante: a maioria dos programas acrescenta arquivos DLL no diretório do Windows; simplesmente apagar o diretório do programa não faz com que esses arquivos sejam apagados, fazendo com que arquivos ocupem inutilmente espaço no disco rígido do micro). Outro problema é que arquivos INI são facilmente editáveis através de qualquer editor de texto, já que são arquivos ASCII (TXT). Uma simples mudança mal feita pelo usuário em um arquivo INI pode fazer com que o programa deixe de funcionar - ou mesmo o Windows inteiro, caso o usuário faça alguma besteira nos arquivos Win.ini e System.ini. Talvez o maior problema seja na organização. O conteúdo de arquivos INI pode ser editado e colocado em qualquer ordem. Ao acessar um arquivo INI, o programa terá de filtrar o arquivo e
Chaves Básicas
Se você teve a curiosidade de executar o Editor de Registro (Regedit), deve ter reparado que o registro é composto por uma estrutura hierárquica similar à estrutura de diretório do disco rígido do micro. Se você consegue "navegar" pelo Windows Explorer não sentirá nenhuma dificuldade em navegar pelo Editor de Registro. O Registro é formado de 6 chaves básicas (listamos na ordem em que aparecem no Editor de Registro): • • • • • •
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG HKEY_DYN_DATA
Em cada chave é armazenado um tipo diferente de informação. Iremos ver como funciona cada chave e qual o tipo de informação há armazenada. Sempre que possível iremos apresentar dicas que sejam válidas para todos os micros. É muito importante notar que não há como fazermos um tutorial válido para todos os micros, pois em cada micro o Registro será um pouco diferente, já que os programas e periféricos instalados variam de micro para micro. HKEY_LOCAL_MACHINE Essa é a chave mais importante do Registro. É nela que estão armazenadas informações a respeito dos periféricos e programas instalados no micro - incluindo a configuração do próprio Windows 9x. Fisicamente falando, as informações dessa chave estão armazenadas no arquivo System.dat. Essa chave possui as seguintes subchaves: Config: Armazena configurações para os Perfis de Hardware instalados no micro. Na maioria das vezes temos somente um perfil de hardware instalado e, daí, essa chave normalmente apresenta somente uma subchave - 0001 - que contém informações sobre esse único perfil. Caso você crie novos perfis de hardware (o que pode ser feito através da guia Perfis de Hardware do ícone Sistema do Painel de Controle) novas chaves são criadas. Durante o boot o Windows 9x carrega a configuração do perfil de hardware selecionado para a máquina. Enum: Informações sobre o hardware do micro.
HKEY_USERS
O Windows 9x permite que mais de usuário utilize um mesmo micro, cada um com suas configurações particulares, tais como proteção de tela, papel de fundo, atalhos presentes na área de trabalho, etc. A escolha do usuário é feita no logon do Windows, quando o sistema pede o nome do usuário e sua senha. Essa chave armazena as configurações do sistema para cada usuário e fisicamente está armazenada no arquivo User.dat. Quando o sistema está configurado para o acesso por apenas um usuário, a chave HKEY_USER contém apenas uma subchave, .default, contendo todas as configurações pessoais do sistema (proteção de tela, papel de parede, etc). No caso de haver mais de um usuário configurado no sistema, quando ele faz logon no sistema, essa chave conterá suas configurações pessoais. Por exemplo, no caso de haver um usuário chamado Fabiano, existirá uma chave chamada "Fabiano" quando esse usuário entrar no sistema. A chave .default continuará existindo, contendo as configurações padrão do sistema. Interessante notar que nessa chave só estão disponíveis as configurações pessoais do usuário que fez logon do sistema. Se no mesmo micro existir um outro usuário chamado Tadeu, a chave "Tadeu" só existirá quando o próprio Tadeu fizer logon no sistema, de forma que um usuário não consiga ver nem alterar configurações de outro usuário (ou seja, o Tadeu não consigará ver as configurações do Fabiano e vice-e-versa). HKEY_CURRENT_USER Essa chave é um atalho para a chave do usuário que fez logon no sistema. Ou seja, se o usuário "Fabiano" foi quem fez logon no sistema, essa chave apontará para a chave HKEY_USERSFabiano. Portanto, fisicamente essa chave não existe, pois apenas aponta para outra parte do registro. HKEY_CLASSES_ROOT Essa chave é um atalho para a chave HKEY_LOCAL_MACHINESOFTWAREClasses. Essa chave existe para manter compatibilidade com programas de 16 bits, pois no registro do Windows 3.x só havia uma única chave principal no registro, chamada HKEY_CLASSES_ROOT. Da mesma forma que a chave anterior, essa chave não existe fisicamente; ela apenas aponta para outra área do registro.
Problemas com o Registro
Como estamos vendo, o Registro armazena informações vitais de sua máquina. Os arquivos que armazenam o Registro são grandes. Em uma máquina típica, o arquivo System.dat (onde o Registro é armazenado) tem por volta de 2,5 MB de tamanho. A cada boot bem sucedido que é feito na máquina, o sistema operacional executa automaticamente um processo de backup do Registro, isto é, os arquivos System.dat e User.dat são copiados com os nomes System.da0 e User.da0, respectivamente. Todos esses quatro arquivos ficam armazenados no diretório do Windows e estão com o atributo de ocultamento ativado. Para listá-los e conferir seus tamanhos, execute o comando Dir c:windows*.da? /s (outros arquivos poderão aparecer listados). Como o Registro centraliza todas as informações do micro, se ele se corromper diversos erros poderão ocorrer. Se durante o boot do Windows 9x o sistema detecta que o Registro está corrompido, uma mensagem de erro é apresentada: "Erro do Registro - O Windows encontrou um erro ao acessar o Registro do sistema. Você deve restaurar o registro agora e reiniciar o seu computador." Nesse caso, você pode tentar recuperar o backup do Registro, executando os seguintes comandos: attrib c:windows*.da? -r -a -s -h del c:windowsuser.dat del c:windowssystem.dat ren c:windows*.da0 *.dat Acontece que muitas vezes o backup do registro também está corrompido! Nesse caso, você pode tentar recuperar o registro através de programas específicos, como o Regclean (baixe-o em http://www.download.com) ou o Cleansweep. Já o Windows 98 funciona de maneira diferente. Em vez de apenas uma cópia de backup, ele executa cinco cópias. Além disso, ele traz um programa para corrigir erros do registro, chamado Scanreg (ele está localizado em C:WINDOWSCOMMAND). Se você usa o Windows 98, experimente executar esse programa! Por funcionar de maneira diferente, a dica anterior para a recuperação do backup do registro não funciona no Windows 98.
Programas para editar o Registro
Há vários programas que permitem fazer modificações no Registro de forma rápida e segura. Alguns deles são shareware, outros você tem de comprar. Dos bons programas, um que chama a atenção é o famoso Cleansweep, da Quarterdeck. Além de ser um excelente utilitário para a desinstalação de programas do disco rígido e "limpeza" do disco rígido (ele procura por arquivos duplicados e desnecessários, por exemplo), suas últimas versões trazem um excelente módulo de verificação do Registro do Windows 9x. Além de procurar por problemas no Registro, ele traz um editor de registro ao estilo do Regedit - chamado Registry Genie - , porém com a grande diferença de possuir um tutorial acoplado, isto é, a medida em que você navega pelo registro, o programa fornece informações sobre a chave que você está navegando, além de diversos outros recursos. Isso é excelente para aqueles que querem aprender ainda mais sobre o Registro, bem como corrigir problemas que o módulo de correção automática (chamado Registry Sweep) não conseguir detectar ou corrigir. Para mais informações sobre esse programa, visite http://www.quarterdeck.com.
Figura 4: Editor de Registro do Cleansweep, chamado Registry Genie.