狗粮进口报关:vb 的api函数调用注册表问题(请vb先辈帮忙解释一下)

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 03:45:47
在vb的 RegSetValueEx函数的参数中有这样两个参数REG_BINARY和REG_DWORD,我也知道REG_BINARY的含义是二进制值,以及REG_DWORD含义是双字节值。我想知道的是怎么用这两个参数,什么时候用。请看下面这两段代码。帮忙解释一下reg_dword和reg_binary的用法即可。---成功回答再追加5分!谢谢!
(一)Private Sub Command1_Click()
Dim hKey As Long
RegCreateKey HKEY_CURRENT_USER, _
"Software\Microsoft\Windows\CurrentVersion\Explorer", hKey
Dim bArr(0 To 4) As Byte
bArr(0) = &H1E: bArr(1) = &H0: bArr(2) = &H0: bArr(3) = &H0
RegSetValueEx hKey, "LINK", 0, REG_BINARY, bArr(0), 4
MsgBox "已完成设置,请重新启动计算机,然后在桌面上创建快捷方式"
RegCloseKey hKey
End Sub

(二)Private Sub Command1_Click()
Dim hKey As Long
RegCreateKey HKEY_CURRENT_USER, _
"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", hKey
Dim L As Long
L = 1
RegSetValueEx hKey, "notraycontextmenu", 0, REG_DWORD, L, 4
MsgBox "已禁止使用任务栏中的右键快捷菜单! 请重新启动计算机,试用任务栏中的右键快捷菜单。"
RegCloseKey hKey
End Sub

看你要设置的注册表类型是什么样的而定,可以自己打开regedit来看看相应的项是应该保存什么类型的值,来确定是使用REG_BINARY还是REG_DWORD

RegSetValueEx hKey, "LINK", 0, REG_BINARY, bArr(0), 4
对应c中的二进制传递方法,只要把二进制数据的开始 地址( bArr(0) )和
数据的长度(4 )传递过去就行了。