Try this (C#):
var regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MyApp",
RegistryKeyPermissionCheck.ReadSubTree));
var sections = regKey.GetSubKeyNames();
Je ne suis pas sûr de VB, mais vous pouvez avoir à utiliser Registry.CurrentUser
au lieu de LocalMachine
et modifiez le chemin en conséquence (SOFTWARE\MyApp
est le chemin ici), sur la base où sont vos clés. Plus d'infos here
Voici le code correspondant pour VB.Net - prise de here
Dim rkTest As RegistryKey = Registry.CurrentUser.OpenSubKey("RegistryOpenSubKeyExample")
Console.WriteLine("There are {0} subkeys under Test9999.", _
rkTest.SubKeyCount.ToString())
For Each subKeyName As String In rkTest.GetSubKeyNames()
Dim tempKey As RegistryKey = _
rkTest.OpenSubKey(subKeyName)
Console.WriteLine(vbCrLf & "There are {0} values for " & _
"{1}.", tempKey.ValueCount.ToString(), tempKey.Name)
For Each valueName As String In tempKey.GetValueNames()
Console.WriteLine("{0,-8}: {1}", valueName, _
tempKey.GetValue(valueName).ToString())
Next
Next
Ce code devrait fonctionner, assurez-vous que votre chemin, etc. est correctement réglée. Ou si vous pouvez poster une capture d'écran de vos ruches de registre, je peux vous guider mieux.
Dim regKey comme RegistryKey = Registry.LocalMachine/CurrentUser.OpenSubkey (... est Nothing après l'exécution et il casse sur GetSubkeyNames() car ce n'est pas une instance d'un objet.) – gubbfett
Avez-vous besoin de la réponse dans VB seulement? Je devrais alors supprimer la balise C# En ce qui concerne votre autre problème, je vérifierais l'exemple de code correspondant sur MSDN pour VB.Net – Mrchief
Non non désolé, VB n'est pas nécessaire, mais je l'utilise et c'est pourquoi je l'ai collé. :) – gubbfett