51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5289|回复: 5

[原创] VBS:怎么判断某个注册表值是否存在?

[复制链接]

该用户从未签到

发表于 2010-5-13 16:37:20 | 显示全部楼层 |阅读模式
VBS:怎么判断某个注册表值是否存在?好像没有现成的函数。
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2010-5-13 18:14:00 | 显示全部楼层

    判断注册表项下是否存在指定KEY,代码如下

    HKEY_LOCAL_MACHINE=&H80000002  
    HKEY_CURRENT_USER=&H80000001  
    '判断HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer下是否存在Build这个键
    Allkey HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Internet Explorer","Build"

    Function Allkey(intRoot,strKeyPath,checkkey)  

    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")  
    oReg.EnumValues intRoot,strKeyPath,arrValueNames
    For i=0 To UBound(arrValueNames)  
                    oReg.GetStringValue intRoot, strKeyPath,arrValueNames(i),strvalue  
                    If arrValueNames(i)=checkkey Then
                                    Msgbox checkkey&"存在"
                                    Exit for
                    End If
                    If  i=UBound(arrValueNames) and arrValueNames(i)<>checkkey Then
                            Msgbox  checkkey&"不存在"
                    End If
    Next

    End Function

    [ 本帖最后由 feiyunkai 于 2010-5-13 18:15 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2010-5-14 08:52:05 | 显示全部楼层
    我先试下,先谢谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2010-8-5 13:49:11 | 显示全部楼层
    arrValueNames 从哪里来的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2010-8-5 17:45:52 | 显示全部楼层
    原帖由 yahuu 于 2010-8-5 13:49 发表
    arrValueNames 从哪里来的?


    oReg.EnumValues intRoot,strKeyPath,arrValueNames的作用:将intRoot_strKeyPath路径下所有键的名称存放在数组arrValueNames中
    上面的代码中,arrValueNames 存放的是注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer下的所有键的名称
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2010-8-14 11:25:17 | 显示全部楼层
    再请教一下,这是查找已经存在的项下的值
    那怎么查找某个项是否存在,比如Microsoft下是否存在Internet Explorer
    替换到上一级报错
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 08:03 , Processed in 0.076029 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表