XDJM 帮帮忙,关于操作注册表的问题!在线等
我现在用vb对注册表操作遇到一个问题,操作系统的用户不同取的值不一样
代码如下:
Option Explicit
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
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByRef phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Const HKEY_CURRENT_USER As Long = &H80000001
Function GetRegValue(ByVal ValueName As String) As String
Dim lngRet As Long
Dim lnghKey As Long
Dim lnglenData As Long
Dim lngtypeData As Long
Dim strRegName As String
Dim strkeyValue As String
lngRet = RegOpenKey(HKEY_CURRENT_USER, "software\VB and VBA Program Settings\setUser", lnghKey)
If lngRet <> 0 Then
GetRegValue = "RegOpenKey"
Exit Function
End If
lngRet = RegQueryValueEx(lnghKey, ValueName, 0, lngtypeData, ByVal vbNullString, lnglenData)
strkeyValue = String(lnglenData, Chr(0))
RegQueryValueEx lnghKey, ValueName, 0, lngtypeData, ByVal strkeyValue, lnglenData
GetRegValue = Left(strkeyValue, InStr(strkeyValue, Chr(0)) - 1)
If lngRet <> 0 Then
GetRegValue = "RegQueryValueEx"
RegCloseKey lnghKey
Exit Function
End If
RegCloseKey lnghKey
End Function
现在操作系统不管用什么用户操作,只能取出 administrator 用户写入的值,我现在要求取出当前用户的值,谢谢啦