Devi innanzitutto sapere in che "macro-chiave" è situata la tua chiave (se è sotto HKLM/HKCU/HKU/...); in base a questo scegli da che campo della classe Registry recuperare la macro-chiave.
Quindi puoi usare il metodo OpenSubKey per aprire la chiave di cui vuoi verificare l'esistenza. Se restituisce Nothing allora la chiave non esiste.codice:Imports Microsoft.Win32 '... 'Recupera la chiave "HKEY_LOCAL_MACHINE" Dim key As RegistryKey=Registry.LocalMachine
Attenzione: questo metodo consente di verificare l'esistenza di chiavi propriamente dette, ossia quelle che nel regedit vengono viste come cartelle. Se devi verificare l'esistenza di un valore allora devi prima verificare l'esistenza della chiave, quindi verificare l'esistenza del valore nell'array dei nomi dei valori restituito dal metodo GetValueNames:codice:'continua da prima If key.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run") Is Nothing Then Console.WriteLine("La chiave non esiste") Else Console.WriteLine("La chiave esiste") End If
.codice:'Recupera la chiave "HKEY_LOCAL_MACHINE" e da essa anche la chiave che ci interessa Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run") If key Is Nothing Then Console.WriteLine("La chiave non esiste") Else Console.WriteLine("La chiave esiste") If DirectCast(key.GetValueNames, IList).IndexOf("AVG7_CC") = -1 Then Console.WriteLine("Il valore non esiste") Else Console.WriteLine("Il valore esiste") End If End If

Rispondi quotando