XDJM 帮帮忙,关于操作注册表的有关问题

XDJM 帮帮忙,关于操作注册表的问题!在线等我现在用vb对注册表操作遇到一个问题,操作系统的用户不同取的值

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   用户写入的值,我现在要求取出当前用户的值,谢谢啦




[解决办法]
对于software\VB and VBA Program Settings\项下注册表的读写,vb提供了getsetting,savesetting
[解决办法]
你现在的操作系统是什么?
[解决办法]
regopenkey 函数打开注册表项的时候会用系统默认的安全级别


win32应用程序应该使用RegQueryValueEx。lpValue被定义成一个字串,以维持同win16的兼容性(在win16中,值全都是字串)
估计是操作权限不够,或者是函数用得有问题,一般来说,取值应该用regcreatekey先打开。