[VB.NET] Verificar existência de chave de registro
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!
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
Curtidas 0
Melhor post
Mais Respostas
Daniel
06/09/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!
GOSTEI 0
Jothaz
06/09/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!
Os exemplos são bem completos, posta o código que você tem.
E o qual erro esta retornando.
GOSTEI 0
Daniel
06/09/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
/ 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
GOSTEI 0
Jothaz
06/09/2015
Você esta usando windows form ou web form?
GOSTEI 0
Daniel
06/09/2015
Windows Form.
GOSTEI 0
Jothaz
06/09/2015
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
GOSTEI 0
Daniel
06/09/2015
Não, ele funciona bem! Porém, é fora do meu objetivo.
Desculpa pela demora na resposta!
Desculpa pela demora na resposta!
GOSTEI 0
Daniel
06/09/2015
Não, ele funciona bem! Porém, é fora do meu objetivo.
Desculpa pela demora na resposta!
Desculpa pela demora na resposta!
GOSTEI 0