[VB.NET] Verificar existência de chave de registro

06/09/2015

0

Saudações pessoal, estou precisando de um método para verificar a existência de uma chave de registro do Windows. Eu tentei fazer ele ler a chave (inexistente) e me retornar um valor, mas como ele não consegue ler ele não me retorna nada.

Informações:

1- Preciso que ele leia a chave (DWORD): DisableAntiSpyware
2- Esta chave está localizada em: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender

Obs: Desculpa pela "noobisse", sou novo no assunto.

Abraços!
Daniel

Daniel

Responder

Post mais votado

06/09/2015

O Pai Google responde: vb.net ler chave registro

Jothaz

Jothaz
Responder

Mais Posts

06/09/2015

Daniel

Entendo que pra você seja fácil. mas já testei os métodos que encontrei no Google e não achei uma solução. Se puder me dar uma "luz", eu fico grato!
Responder

06/09/2015

Jothaz

Entendo que pra você seja fácil. mas já testei os métodos que encontrei no Google e não achei uma solução. Se puder me dar uma "luz", eu fico grato!


Os exemplos são bem completos, posta o código que você tem.

E o qual erro esta retornando.
Responder

06/09/2015

Daniel

O meu problema é não ter um código! Eu tentei de diversas maneiras, mas não obtive sucesso em nenhuma delas. O único modo que eu encontrei foi esse:

/ Se possível, cria uma chave simples.
Dim Cr1 As RegistryKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\Policies\Microsoft\Windows Defender")

/ Se possível, cria um valor DWORD dentro da chave criada.
Cr1.SetValue("DisableAntiSpyware", "00000000", Microsoft.Win32.RegistryValueKind.DWord)

/ Cria um objeto para guardar o valor do valor DWORD criado.
Dim WDKey As Object = Cr1.GetValue("DisableAntiSpyware")

/ Verificar o valor do valor DWORD e defini o que fazer dependendo da resposta.
If (WDKey <> "1") Then
lb_windefender.Text = "Windows Defender: Ativado"
lb_windefender.ForeColor = Color.Green
Else
lb_windefender.Text = "Windows Defender: Desativado"
lb_windefender.ForeColor = Color.Red
End If

- O código completo ficou assim:

Dim Cr1 As RegistryKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\Policies\Microsoft\Windows Defender")
Cr1.SetValue("DisableAntiSpyware", "00000000", Microsoft.Win32.RegistryValueKind.DWord)
Dim WDKey As Object = Cr1.GetValue("DisableAntiSpyware")
If (WDKey <> "1") Then
lb_windefender.Text = "Windows Defender: Ativado"
lb_windefender.ForeColor = Color.Green
Else
lb_windefender.Text = "Windows Defender: Desativado"
lb_windefender.ForeColor = Color.Red
End If
Responder

06/09/2015

Jothaz

Você esta usando windows form ou web form?
Responder

07/09/2015

Daniel

Windows Form.
Responder

08/09/2015

Jothaz

Este código retorna algum erro?

Dim Cr1 As RegistryKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\Policies\Microsoft\Windows Defender")
Cr1.SetValue("DisableAntiSpyware", "00000000", Microsoft.Win32.RegistryValueKind.DWord)
Dim WDKey As Object = Cr1.GetValue("DisableAntiSpyware")
If (WDKey <> "1") Then
lb_windefender.Text = "Windows Defender: Ativado"
lb_windefender.ForeColor = Color.Green
Else
lb_windefender.Text = "Windows Defender: Desativado"
lb_windefender.ForeColor = Color.Red
End If
Responder

09/09/2015

Daniel

Não, ele funciona bem! Porém, é fora do meu objetivo.

Desculpa pela demora na resposta!
Responder

09/09/2015

Daniel

Não, ele funciona bem! Porém, é fora do meu objetivo.

Desculpa pela demora na resposta!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar