简单的查询语句,错在哪

canzai 2003-08-23 04:59:28
我想获取注册表hkey_current_user\Software 下的键wenjian的值,然后把所获得值显示在文本框text1.text里面.
我用下面的语句不行 ,错在哪?



Option Explicit

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (B
yVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueE
xA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, l
pType As Long, lpData As Any, lpcbData As Long) As Long
Const hkey_current_user = &H80000001
Const REG_SZ = 1&
Const regkey = "Software"
Const ee = "wenjian"
dim retvalue,deyid,rr



Private Sub Command11_Click()
retvalue = RegCreateKey(hkey_current_user, regkey, keyid)
retvalue = RegQueryValueEx(keyid, ee, 0, REG_SZ , ByVal rr, Len(ee))
Text1.Text = rr
End Sub
...全文
41 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-08-23
  • 打赏
  • 举报
回复
错了几个地方,改成下面的就正确了.:

Option Explicit
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, 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 ' Note that if you declare the lpData parameter as String, you must pass it By Value.

Const hkey_current_user = &H80000001
Const REG_SZ = 1&
Const regkey = "Software"
Const ee = "wenjian"
Dim retvalue, keyid, rr '按照后面的引用,变量应该定义为keyid


Private Sub Command11_Click()
retvalue = RegCreateKey(hkey_current_user, regkey, keyid)
retvalue = RegQueryValueEx(keyid, ee, 0, REG_SZ, rr, Len(ee)) '这里应该这样写
Text1.Text = rr
End Sub

射天狼 2003-08-23
  • 打赏
  • 举报
回复
deyid
并且你这个变量也定义错了,改成keyid
射天狼 2003-08-23
  • 打赏
  • 举报
回复
你的 RegQueryValueEx API函数定义错了,改成就行了。
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
bbgbianbaogui 2003-08-23
  • 打赏
  • 举报
回复
i don't know.

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧