下面是我拿到注册表某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
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
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