如何读取注册表的REG_BINARY的值?

cming 2000-10-19 09:23:00
我在编写一个通用vb读写注册表的类,注册表的REG_SZ,REG_DWORD都能顺利读出,但读REG_BINARY的时候有点问题,谁能给我一个简单的sample.

Private Declare Function RegQueryValueExBinary Lib "advapi32.dll" Alias "RegQueryValueExA" _
(ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
lpData As Byte, _
lpcbData As Long) As Long

Dim bvalue As Byte
selct ...
case REG_BINARAY
lret = RegQueryValueExBinary(keyhandle, sValueName, 0&, lType, bvalue, lBufsize)
end select
我用这个只能读出第一个Byte的值.
...全文
591 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Edward 2000-10-19
  • 打赏
  • 举报
回复
呵呵,不用 sample,你的代码有问题。
读 REG_BINARY 的值时,你需要串进去一个缓冲区(BUFFER)用来接收数据;并不是 RegQueryValueEx 帮你分配内存。

我用如下代码,运行成功,结果正确:
Dim b(1000) As Byte
Dim n As Long

n = 1000
sValueName = "..."
lret = RegQueryValueEx(hkey, sValueName, 0&, lType, b(0), n)

当然,在实际应用中,Byte 数组的大小一般动态确定。
  • 打赏
  • 举报
回复
我有一个关于访问注册表的类,你看看吧!
http://go18.163.com/_NTES/~lumine/pages/mysoft/source/vb/registry.zip
  • 打赏
  • 举报
回复
我有一个关于访问注册表的类,你看看吧!
http://go18.163.com/_NTES/~lumine/pages/mysoft/source/vb/registry.zip

7,785

社区成员

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

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