VBS:怎么判断某个注册表值是否存在?
VBS:怎么判断某个注册表值是否存在?好像没有现成的函数。判断注册表项下是否存在指定KEY,代码如下
HKEY_LOCAL_MACHINE=&H80000002HKEY_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
Ifi=UBound(arrValueNames) and arrValueNames(i)<>checkkey Then
Msgboxcheckkey&"不存在"
End If
Next
End Function
[ 本帖最后由 feiyunkai 于 2010-5-13 18:15 编辑 ] 我先试下,先谢谢了 arrValueNames 从哪里来的? 原帖由 yahuu 于 2010-8-5 13:49 发表 http://bbs.51testing.com/images/common/back.gif
arrValueNames 从哪里来的?
oReg.EnumValues intRoot,strKeyPath,arrValueNames的作用:将intRoot_strKeyPath路径下所有键的名称存放在数组arrValueNames中
上面的代码中,arrValueNames 存放的是注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer下的所有键的名称 再请教一下,这是查找已经存在的项下的值
那怎么查找某个项是否存在,比如Microsoft下是否存在Internet Explorer
替换到上一级报错
页:
[1]