问题是:写注册表时,只建立项,而没用写其它的(如:用户名及其值)
当手工写入注册表,测试读取时,命名是六个字母,读取出来却告诉是14个
郁闷!!!!!!!!
原代码:
注册表写入
Public Sub WriteandReadReg()
Dim UserName As String, ListName As String
Dim UserName1 As String, ListName1 As String
Dim SubKey As String, KeyName As Long
Dim Result As Long
On Error GoTo err1
SubKey = "Software\WellDrawData"
Result = RegCreateKey(HKEY_CURRENT_USER, SubKey, KeyName)
If Result Then
UserName = Trim(WriteReg.Text1.Text)
RegSetValueEx KeyName, "用户名", 0, REG_SZ, ByVal UserName, LenB(StrConv(UserName, vbFromUnicode)) + 1
ListName = Trim(WriteReg.Text2.Text)
RegSetValueEx KeyName, "序列号", 0, REG_SZ, ByVal ListName, LenB(StrConv(ListName, vbFromUnicode)) + 1
RegCloseKey KeyName
End If
MsgBox "注册后请关闭该程序,重新启动!"
Unload WriteReg
err1:
End Sub
注册表读取:
Public Function ReadReg(UserName As String, ListName As String) As Boolean
Dim Result As Long
Dim SubKey As String
Dim Reg_phkey As Long
ReadReg = False
SubKey = "Software\WellDrawData"
UserName = Space(20)
ListName = Space(20)
Result = RegOpenKeyEx(HKEY_CURRENT_USER, SubKey, 0, KEY_READ, Reg_phkey)
If Result = ERROR_SUCCESS Then
RegQueryValueExString Reg_phkey, "用户名", 0&, REG_SZ, UserName, LenB(UserName)
RegQueryValueExString Reg_phkey, "序列号", 0&, REG_SZ, ListName, LenB(ListName)
RegCloseKey (Reg_phkey)
End If
If Trim(UserName) = "hgy" And Trim(ListName) = "0123456789" Then
ReadReg = True
End If
End Function
当手工写入注册表,测试读取时,命名是六个字母,读取出来却告诉是14个
郁闷!!!!!!!!
原代码:
注册表写入
Public Sub WriteandReadReg()
Dim UserName As String, ListName As String
Dim UserName1 As String, ListName1 As String
Dim SubKey As String, KeyName As Long
Dim Result As Long
On Error GoTo err1
SubKey = "Software\WellDrawData"
Result = RegCreateKey(HKEY_CURRENT_USER, SubKey, KeyName)
If Result Then
UserName = Trim(WriteReg.Text1.Text)
RegSetValueEx KeyName, "用户名", 0, REG_SZ, ByVal UserName, LenB(StrConv(UserName, vbFromUnicode)) + 1
ListName = Trim(WriteReg.Text2.Text)
RegSetValueEx KeyName, "序列号", 0, REG_SZ, ByVal ListName, LenB(StrConv(ListName, vbFromUnicode)) + 1
RegCloseKey KeyName
End If
MsgBox "注册后请关闭该程序,重新启动!"
Unload WriteReg
err1:
End Sub
注册表读取:
Public Function ReadReg(UserName As String, ListName As String) As Boolean
Dim Result As Long
Dim SubKey As String
Dim Reg_phkey As Long
ReadReg = False
SubKey = "Software\WellDrawData"
UserName = Space(20)
ListName = Space(20)
Result = RegOpenKeyEx(HKEY_CURRENT_USER, SubKey, 0, KEY_READ, Reg_phkey)
If Result = ERROR_SUCCESS Then
RegQueryValueExString Reg_phkey, "用户名", 0&, REG_SZ, UserName, LenB(UserName)
RegQueryValueExString Reg_phkey, "序列号", 0&, REG_SZ, ListName, LenB(ListName)
RegCloseKey (Reg_phkey)
End If
If Trim(UserName) = "hgy" And Trim(ListName) = "0123456789" Then
ReadReg = True
End If
End Function
解决方案 »
- 为什么GetSystemMetrics(SM_CXSMICON)返回的以像素计算的小图标尺寸是18而不是16呢?
- K3源码出售(v10.4、10。3、11。0等版本)
- 一个关于摄像头的问题
- 如何获得从网页发送出去的数据?
- 请教:怎样将数据库中的二进制数据赋值给二进制数组?
- 控件的开发问题,高难度
- 录制的宏执行时报错怎么回事?
- winsock问题!!!急!!!
- EXCEL导入gridvid
- 谁有HelpBuilder1.0 sc的注册码,分数不成问题!!!!!!!
- 怎样将SQL Server中的数据库备份到access库中?在线等待!!
- 哪位有已经做好的vb小程序,帮忙发一个,我要做课设,在线等。
If (ERROR_SUCCESS <> RegQueryValueEx(hKey, ValueName, 0, lngType, ByVal vbNullString, lngBufferSize)) Then
Exit Function
End If
Select Case lngType
Case REG_SZ
Dim strBuffer As String
If (lngBufferSize = 0) Then
GoTo Finally
End If
strBuffer = String(lngBufferSize, Chr(0))
If (ERROR_SUCCESS <> RegQueryValueEx(hKey, ValueName, 0, 0, ByVal strBuffer, lngBufferSize)) Then
GoTo Finally
End If
GetValue = Left(strBuffer, InStr(strBuffer, Chr(0)) - 1)
If Result=0 Then
注册表读取:
Public Function ReadReg(UserName As String, ListName As String) As Boolean
Dim Result As Long
Dim SubKey As String
Dim Reg_phkey As Long
ReadReg = False
SubKey = "Software\WellDrawData"
UserName = String(20, Chr(0))
listName = String(20, Chr(0))
Result = RegOpenKeyEx(HKEY_CURRENT_USER, SubKey, 0, KEY_READ, Reg_phkey)
If Result = ERROR_SUCCESS Then
RegQueryValueExString Reg_phkey, "用户名", 0&, REG_SZ, UserName, LenB(UserName)
RegQueryValueExString Reg_phkey, "序列号", 0&, REG_SZ, ListName, LenB(ListName)
RegCloseKey (Reg_phkey)
End If
UserName = Left(UserName, LenB(UserName) - 1)
listName = Left(listName, LenB(listName) - 1)
If Trim(UserName) = "hgy" And Trim(ListName) = "0123456789" Then
ReadReg = True
End If
End Function