 Trabalhando com o 
registro no VB.NET
Trabalhando com o 
registro no VB.NET
O registro do Windows é um banco de dados central que armazena as definições das configurações e outra informação exigida pelas aplicações. As duas únicas tarefas que você consegue fazer com o registro é ler e escrever nele.
Como fazer isto usando o VB.NET ?
Você já alguma vez abriu o registro ? Se não o fez , basta clicar no em Iniciar e a seguir em Executar e digitar regedit na janela Executar:

O botão OK abre o editor do registro. Na figura abaixo temos a hierarquia do registro. Ela possui cinco chaves principais sob o nó Meu Computador

Para poder trabalhar como registro a livraria .NET Framework fornece duas classes - Registy e RegistryKey.
Estas classes estão definidas no namespace - Microsoft.Win32 ; de forma que para que possamos usá-las devemos fazer referência a este namespace.
Podemos definir as chaves do registro na seguinte ordem:
CurrentUser 
- Armazena informação sobre as
preferências do usuário.
LocalMachine - Armazena a configuração da informação para a
máquina local
ClassesRoot - Armazena informação sobre tipos e classes e suas
propriedades.
Users - Armazena informação sobre a configuração padrão do
usuário.
PerformanceData - Armazena informação de desempenho para os
componentes de software.
CurrentConfig - Armazena informação sobre hardware.
DynData - Armazena dados dinâmicos.
A classe Registry contém membros que fornecem acesso as chaves do registro. Os membros correspondentes a cada um dos tipos das chaves acima citadas estão descritos abaixo:
| ClassesRoot | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_CLASSES_ROOT | 
| CurrentConfig | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_CURRENT_CONFIG | 
| CurrentUser | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_CURRENT_USER | 
| DynData | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_DYN_DATA | 
| LocalMachine | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_LOCAL_MACHINE. | 
| PerformanceData | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_PERFORMANCE_DATA | 
| Users | Retorna um tipo RegistryKey o qual fornece acesso a chave HKEY_USERS | 
Assim , por exemplo , se você deseja acessar a chave HKEY_LOCAL_MACHINE , você precisa chamar o membro Registry.LocalMachine o qual retorna um tipo RegistryKey
RegistryKey pRegKey = Registry.LocalMachine;
A classe RegistryKey contém membros para incluir , remover , substituir e ler dados do registro. Os métodos e propriedades mais comuns desta classe estão indicados abaixo:
| Propriedades | Descrição | 
| Name | Representa o nome da chave | 
| SubKeyCount | Representa o numero de subkeys a nivel da base para a chave atual | 
| ValueCount | Representa o numero de valores na chavekey. | 
| Método | Descrição | 
| Close | Fecha a chave. | 
| CreateSubKey | Cria uma nova subkey se ela não existir, de outro modo abre a subkey existente. | 
| DeleteSubKey | Exclui a subkey definida | 
| DeleteSubKeyTree | Exclui a subkey e qualquer filha. | 
| DeleteValue | Exclui o valor definido de uma Chave. | 
| GetSubKeyNames | Retorna um vetor de strings que contém todos os nomes das subkeys. | 
| GetValue | Retorna um valor especifico. | 
| GetValueNames | Retorna um vetor de strings que contém todos os valores dos nomes associados com esta chave. | 
| OpenSubKey | Abra uma subkey. | 
| SetValue | Atribui o valor definido. | 
Vamos mostrar então , depois desta teoria toda como usar , os métodos para incluir , remover e atualizar chaves e seus valores.
Para começar vamos incluir uma chave com o nome de Macoratti como valor .NET Developer. O código para esta tarefa é o seguinte:
| 
 | 
Usamos CreateSubKey para incluir uma nova chave no registro do Windows e invocamos o método SetValue para escrever o valor da chave.
O método GetValue retorna o valor de uma sub chave (subKey) na forma de um objeto. No exemplo a seguir estou lendo o valor do registro para retornar dados do processador da máquina. Para isto deve-se ler a subkey CenteralProcessor\0.
O código é o seguinte:
| 
 | 
O método DeleteValue pode ser usado para excluir um valor de uma subchave. DeleteSubKey exclui a subkey definida. Exemplos:
O código completo das tarefas realizadas é o seguinte:
| 
 | 
E por enquanto é só isto. Aguarde artigo avançado sobre o assunto.
Tchau...

| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? | 
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a 
Objetos com VB .NET
