Quando precisamos gravar algum tipo de informação onde o banco de dados não pode ser utilizado, utilizamos outras formas, como um arquivo .txt, .ini entre outros. Podemos também, dependendo da informação que será guardada, utilizar o próprio registro do Windows.

Um exemplo para essa gravação e o caminho de um banco de dados ou uma string de conexão criptografada.

Nesse artigo irei demonstrar como podemos utilizar o registro do Windows para gravar o caminho de um arquivo .txt. Mas você pode escolher qualquer outro tipo de arquivo.

A chave de Registro que iremos utilizar será HKEY_LOCAL_MACHINE\Software

Nela podemos encontrar informações de todos os programas instalados no computador.

Iniciando a construção do Programa

Estarei utilizando o Visual Studio 2005, mas você pode utilizar qualquer outro aplicativo para auxiliar no desenvolvimento.

Começaremos criando um projeto. No Visual Studio, clique em File > New > Project e escolha Windows Application. Escolha o nome para sua aplicação e o caminho que será salvo conforme Figura 1.

Criando o Projeto
Figura 1. Criando o Projeto

Feito isso, crie então um formulário conforme imagem abaixo:

Formulário
Figura 2. Formulário

Componentes utilizados:

  • GroupBox: gb_gravaCaminho
  • Label: lb_caminho
  • TextBox: tbx_caminho
  • Button: bt_abrir
  • Button: bt_gravarCaminho
  • GroupBox: gb_leCaminho
  • Label: lb_caminhoGravado
  • TextBox:: tbx_caminhoGravado

Iremos utilizar também um outro componente, o OpenFileDialog para poder pegar o caminho do arquivo. Para usar esse componente no projeto, na barra Toolbox de dois clique em cima dele:

ToolBox
Figura 3. ToolBox

Agora vamos partir para a ação dos botões.

Dê dois cliques no botão Abrir e insira o código abaixo:


  /// 

  /// Abri a janela para escolher o caminho do 
  /// banco de dados
  /// 

  private void bt_abrir_Click(object sender, EventArgs e)
  {
     // coloca o título na janela
     this.openFileDialog1.Title = "Escolha o banco de dados...";
     // informa qual será o diretório inicial
     this.openFileDialog1.InitialDirectory = "c:\\";
     // configura o filtro para tipo de arquivo
     this.openFileDialog1.Filter = "txt files (*.txt)|*.txt";
     // abre a janela para escolher o banco de dados
     this.openFileDialog1.ShowDialog();
  
     // pega o caminho escolhido
     this.tbx_caminho.Text = this.openFileDialog1.FileName;
  }

Feito isso, você já consegue selecionar o arquivo e pegar seu caminho. Agora vamos para a parte principal, gravar essa informação no registro do Windows.

Vamos utilizar o namespace Microsoft.Win3, então acrescente ele ao programa: using Microsoft.Win32;

De dois clique no botão Gravar Caminho e o insira o código abaixo:


 try
 {
    // cria uma referêcnia para a chave de registro Software
    RegistryKey rk = Registry.LocalMachine.OpenSubKey("Software", true);
    // cria um Subchave como o nome GravaRegistro
    rk = rk.CreateSubKey("GravaRegistro");
    // grava o caminho na SubChave GravaRegistro
    rk.SetValue("CAMINHO_TXT", tbx_caminho.Text);
    // fecha a Chave de Restistro registro
    rk.Close();
    MessageBox.Show("Caminho gravado com Sucesso!");
  
 }
 catch (Exception erro)
 {
    MessageBox.Show("Erro no gravação do Registro: " + erro.Message);
 }

Pronto, agora já temos nosso caminho gravado do Registro do Windows.

Para verificar o caminho gravado, basta acessar o Registro do Windows com o comando regedit, e verificar que na chave de registro HKEY_LOCAL_MACHINE\Software terá um basta com o nome GravaRegistro e dentro dela um arquivo com o nome CAMINHO_TXT onde terá o caminho que você escolheu.

Agora precisamos realizar a leitura desse caminho gravado. De dois clique no botão Caminho Gravado e insira o codigo abaixo:


try
 {
    // cria uma referêcnia para a chave de registro Software
    RegistryKey rk = Registry.LocalMachine.OpenSubKey("Software", true);
    // realiza a leitura do registro
    tbx_caminhoGravado.Text = 
      rk.OpenSubKey("GravaRegistro", true).GetValue("CAMINHO_TXT").ToString();
 }
 catch (Exception erro)
 {
    MessageBox.Show("Erro na leitura do Registro: " + erro.Message);
 }

Finalizada então a codificação, execute o programa e realize a leitura do registro gravado.

Conclusão

Podemos ver que exitem outras formas que auxiliam nas gravações de informações, não só utilizando os arquivos .txt ou .ini. E que para utilizar o registro do Windows é muito simples, bastando algumas linhas de programação e você não irá precisar usar mais arquivos de texto para quardar informações como caminho do banco de dados.

Mas utilize com cuidado, pois se alterar o registro de ulgum outro programa, poderá tem sérios problemas.

Referências: