Dim s As String
Dim ret As Long
Dim Num As String
Dim lens As Long
ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", ret3)
If ret = 0 Then
RegSetValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", REG_SZ, 20, lens
RegQueryValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", s, lens
End If
我给“bailang”赋值为20可读出来的s=0,lens=3.
为什么不对呢?
Dim ret As Long
Dim Num As String
Dim lens As Long
ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", ret3)
If ret = 0 Then
RegSetValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", REG_SZ, 20, lens
RegQueryValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", s, lens
End If
我给“bailang”赋值为20可读出来的s=0,lens=3.
为什么不对呢?
Private Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As LongPrivate Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1 ' Unicode nul terminated stringPrivate Sub Command1_Click()
Dim s As String * 20
Dim ret As Long
Dim Num As String
Dim lens As Long
ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", ret3)
If ret = 0 Then
RegSetValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", REG_SZ, 20, lens
RegQueryValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", s, 20
End If
Debug.Print s
End Sub
Dim s As String
Dim ret As Long
Dim Num As String
Dim lens As Long
Dim ret3 As Long
ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", ret3)
If ret = 0 Then
RegSetValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", REG_SZ, 20, 2
RegQueryValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", ByVal vbNull, lens
s = Space(lens - 1)
RegQueryValue HKEY_LOCAL_MACHINE, "SOFTWARE\bailang", s, lens
End If
Debug.Print s
End Sub