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.
Feito isso, crie então um formulário conforme imagem abaixo:
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:
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.