If I am understanding you correctly, You'd like to get the values in the path and write them out in a list view, similar to the screenshot you took of the registry editor. You can modify the sample code you provided as follows:
Private Sub ListRegistryKeys(ByVal RegistryHive As String, ByVal RegistryPath As String)
Dim key As Microsoft.Win32.RegistryKey
Select Case RegistryHive
Case "HKEY_LOCAL_MACHINE" : key = My.Computer.Registry.LocalMachine.OpenSubKey(RegistryPath)
Case "HKEY_CURRENT_USER" : key = My.Computer.Registry.CurrentUser.OpenSubKey(RegistryPath)
Case "HKEY_CLASSES_ROOT" : key = My.Computer.Registry.ClassesRoot.OpenSubKey(RegistryPath)
Case "HKEY_CURRENT_CONFIG" : key = My.Computer.Registry.CurrentConfig.OpenSubKey(RegistryPath)
Case "HKEY_USERS" : key = My.Computer.Registry.Users.OpenSubKey(RegistryPath)
Case Else
Throw New Exception("Unknow Registry Hive.")
End Select
key.OpenSubKey(RegistryPath)
For Each v In key.GetValueNames()
Dim lvItem As ListViewItem = ListView2.Items.Add(v)
lvItem.SubItems.Add(subKey.GetValue(v))
lvItem.SubItems.Add(subKey.GetValueKind(v).ToString())
Next
End Sub
I call the OpenSubKey method of the RegistryKey containing the selected hive using the path provided. Then I loop through all of the values, creating a list view item for each value. The sub-items contain the value and type respectively.
Please note that this is not complete. You will want to check that the registry path exists or trap an error.