51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5485|回复: 5
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-13 16:37:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
VBS:怎么判断某个注册表值是否存在?好像没有现成的函数。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 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 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2010-5-14 08:52:05 | 只看该作者
    我先试下,先谢谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-8-5 13:49:11 | 只看该作者
    arrValueNames 从哪里来的?
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 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下的所有键的名称
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 15:41 , Processed in 0.071951 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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