api操作注册表的问题求教
Private Sub Command1_Click()Dim hKey As Long
Dim abc As Long
RegCreateKey HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range3", hKey
RegSetValueEx hKey, ":Range", 0, REG_SZ, ByVal "172.16.13.16", 12
RegSetValueEx hKey, "http", 0, REG_DWORD, ByVal "2", 1
MsgBox "test"
RegCloseKey hKey
End Sub目的是想把http://172.16.13.16加入IE的受信任站点
但是注册表没改对
正确的应该是http 类型为双字,值为2
请问这句怎么写:
RegSetValueEx hKey, "http", 0, REG_DWORD, ByVal "2", 1
麻烦解析一下
[ 本帖最后由 2002070344 于 2008-7-27 13:38 编辑 ] 未学过,let me guess
RegSetValueEx(hkey,"aa",0L,REG_DWORD,(CONST BYTE*)&dwvalue,sizeof(DWORD));
so……
RegSetValueEx hKey, "http", 0, REG_DWORD, ByVal "2", 2
try it,我无开发环境 不行,我将RegSetValueEx hKey, "http", 0, REG_DWORD, ByVal "2", 1
改称
RegSetValueEx hKey, "http", 0, REG_SZ, ByVal "2", 1
数值就没错
可惜我不是要REG_SZ,而是要REG_DWORD
不知道怎么写才正确 可能要强制类型转换,问达人吧~ 【VB声明】
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
【别名】
RegSetValueExA
【说明】
设置指定项的值
【返回值】
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
【参数表】
hKey ----------- Long,一个已打开项的句柄,或指定一个标准项名
lpValueName ---- String,要设置值的名字
Reserved ------- Long,未用,设为零
dwType --------- Long,要设置的数量类型
lpData --------- Any,包含数据的缓冲区中的第一个字节
cbData --------- Long,lpData缓冲区的长度
不懂VB,不过REG_DWORD长度是4,你现在的REG_DWORD长度为1,这个似乎。。。 对,是4,1是我到处试的
4肯定是对的,前面那个值不知怎么搞 这样可以了
ret = RegSetValueEx(hKey, "http", 0, REG_DWORD, 2, 4)
不是说不写byval,就是默认byref吗
这样对吗 还发现一个问题,没有返回值,就是不写ret=
依然得不到正确的结果 sorry, 学号,这个不懂...
页:
[1]