2002070344 发表于 2008-7-27 10:20

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 编辑 ]

Leon001 发表于 2008-7-27 17:12

未学过,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,我无开发环境

2002070344 发表于 2008-7-27 17:39

不行,我将RegSetValueEx hKey, "http", 0, REG_DWORD, ByVal "2", 1
改称
RegSetValueEx hKey, "http", 0, REG_SZ, ByVal "2", 1
数值就没错
可惜我不是要REG_SZ,而是要REG_DWORD
不知道怎么写才正确

Leon001 发表于 2008-7-27 18:40

可能要强制类型转换,问达人吧~

zaijzhgh 发表于 2008-7-27 20:09

【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,这个似乎。。。

2002070344 发表于 2008-7-27 20:12

对,是4,1是我到处试的
4肯定是对的,前面那个值不知怎么搞

2002070344 发表于 2008-7-27 20:38

这样可以了
ret = RegSetValueEx(hKey, "http", 0, REG_DWORD, 2, 4)
不是说不写byval,就是默认byref吗
这样对吗

2002070344 发表于 2008-7-27 20:41

还发现一个问题,没有返回值,就是不写ret=
依然得不到正确的结果

jinry 发表于 2008-8-3 16:52

sorry, 学号,这个不懂...
页: [1]
查看完整版本: api操作注册表的问题求教