下面是我拿到注册表某KEY下的 所有value name   我想拿到value name对应下的value data Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
 Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
 Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
 Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Const REG_DWORD = 4
 Const HKEY_CURRENT_USER = &H80000001
 Const KEY_ALL_ACCESS = &H3F
 Const ERROR_NO_MORE_ITEMS = 259
  
Private Sub Command1_Click()
     Dim lRet As Long, hKey As Long
     
     lRet = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\TypedUrls", 0, KEY_ALL_ACCESS, hKey)
     
     If lRet Then MsgBox "Error accessing HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedUrls": Exit Sub
      
     Dim lIndex As Long, aVName$, lVName As Long, lType As Long, aData$, lData As Long
     
     lVName = 100
     aVName$ = Space$(lVName)
     
     Do Until lRet = ERROR_NO_MORE_ITEMS
        List1.AddItem aVName$
        lVName = 100
        lData = 100
        lIndex = lIndex + 1
        lRet = RegEnumValue(hKey, lIndex, aVName$, lVName, 0, lType, aData$, lData)
     Loop
     lRet = RegCloseKey(hKey)
End SubVB 6.0写的 一个list文本框和一个按钮就可以了 
我现在拿到的都是左边的 NAME 我想拿到 NAME所对应的 右边的DATA 

解决方案 »

  1.   

    Private Sub Command1_Click()
        Dim lRet As Long, hKey As Long
        
        lRet = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\TypedUrls", 0, KEY_ALL_ACCESS, hKey)
        
        If lRet Then MsgBox "Error accessing HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedUrls": Exit Sub
          
        Dim lIndex As Long, aVName$, lVName As Long, lType As Long, aData$, lData As Long
        
        lVName = 100
        aVName$ = Space$(lVName)
        aData$ = Space$(1000)
        Do Until lRet = ERROR_NO_MORE_ITEMS
            lVName = 100
            lData = 1000
            lIndex = lIndex + 1
            lRet = RegEnumValue(hKey, lIndex, aVName$, lVName, 0, lType, aData$, lData)
            List1.AddItem Left(aData$, InStr(aData$, Chr(0)) - 1)
        Loop
        lRet = RegCloseKey(hKey)
    End Sub