segunda-feira, 12 de setembro de 2011

Salvando informações no registro

Para salvar informações no registro do Windows existem dois métodos, um mais fácil e outro menos fácil.

1 - Mais fácil

Os comandos a baixos alteram as informações em uma seção padrão do registro para aplicativos VB: HKEY_CURRENT_USER\Software\VB and VBA Program Settings. Os comandos são simples e rápidos.


1.1 - Salvar informações

SaveSetting(
"Nome do Aplicativo", "Seção", "Chave", "Valor"), onde Nome do Aplicativo, Seção, Chave e Valor são Strings.

1.2 - Obter informações

GetSetting(
"Nome do Aplicativo", "Seção", "Chave", "Valor Padrão"), onde Valor Padrão é o valor que retornará caso o registro não exista.

1.3 - Apagar informações

DeleteSetting(
"Nome do Aplicativo", "Seção", "Chave"), onde Seção e Chave são opcionais.

2 - Menos fácil

Este método você pode salvar informações em qualquer parte do registro. Para efeito de organização do registro você deve salvar as informações na seção Software em CurrentUser, o que torna o aplicativo mais profissional.
Você dece colocar antes do
Public Class Form:

Imports Microsoft.Win32

Para tal, o VB possui os seguintes comandos:

2.1 - Criar Pastas

Você pode criar novas seções sem criar novas chaves, basta utilizar os seguintes comandos:

Dim NovaChave As RegistryKey
NovaChave =
My.Computer.Registry.CurrentUser.CreateSubKey("Software\Nome da Empresa\Nome do Aplicativo\Seção")

2.2 - Salvar informações

My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Nome da Empresa\Nome do Aplicativo\Seção", "Chave", "Valor"

Se a seção não existir, ela será criada.

2.3 - Obter informações

Dim ValordaChave As Object
ValordaChave =
My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Nome da Empresa\Nome do Aplicativo\Seção", "Chave", "Valor Padrão"), onde Valor Padrão é o valor que irá retornar caso a chave não exista.

2.4 - Deletar informações

Existem três métodos:

2.4.1 - Apagar uma Chave

Using Chave As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Nome da Empresa\Nome do Aplicativo\Seção", True)
      Chave.DeleteValue(
"Chave")
End Using

2.4.2 - Apagar uma Seção

Using Secao As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Nome da Empresa\Nome do Aplicativo", True)
      Secao.DeleteSubKey(
"Seção")
End Using

2.4.3 - Apagar uma árvore de seções

Using Secao As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software", True)
      Secao.DeleteSubKeyTree(
"Nome da Empresa")
End Using

Utilize com atenção estes comandos, pois você pode danificar a execução de programas e até do Windows.

Lembrete: você pode acessar o registro e fazer alterações manualmente nele colando REGEDIT em Executar (atalho do teclado: Ctrl+R).

Este é um pouco menos simples, não?

Nenhum comentário:

Postar um comentário