Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 530915
            [titulo] => [VB.NET] Verificar existência de chave de registro
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-09-06 14:33:59
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418027
            [status] => A
            [isExample] => 
            [NomeUsuario] => Jothaz
            [Apelido] => 
            [Foto] => 418027_20150313165406.jpg
            [Conteudo] => O Pai Google responde: [url:descricao=vb.net ler chave registro]https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=vb.net%20ler%20chave%20registro[/url]
        )

)

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

Daniel
   - 06 set 2015

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!

Post mais votado

Jothaz
   - 06 set 2015

Daniel
   - 06 set 2015

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!

Jothaz
   - 06 set 2015


Citação:
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.

Daniel
   - 06 set 2015

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

Jothaz
   - 06 set 2015

Você esta usando windows form ou web form?

Daniel
   - 07 set 2015

Windows Form.

Jothaz
   - 08 set 2015

Este código retorna algum erro?

#Código

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

Daniel
   - 09 set 2015

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

Desculpa pela demora na resposta!

Daniel
   - 09 set 2015

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

Desculpa pela demora na resposta!