下面的这段代码是遍历了注册表里的项,我把值打印出来了。
const HKEY_CURRENT_USER = &H80000001
Set objReg=GetObject(\) strKeyPath = \ objReg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubKeys print \ under \ _
& \ For Each subkey In arrSubKeys print subkey Next
注释:这是我在网上找到的英文资料,我是根据这个写的上面那段代码,有兴趣的可以看看。
Syntax
uint32 EnumKey(
[in, optional] uint32 hDefKey = HKEY_LOCAL_MACHINE, [in] string sSubKeyName, [out] string sNames[]
);
Parameters
hDefKey [in, optional]
A registry tree, also known as a hive, that contains the sSubKeyName
path. The default value is HKEY_LOCAL_MACHINE.
Note that HKEY_DYN_DATA is a valid tree for Windows 95 and Windows 98 computers only.
The following trees are defined in Winreg.h. HKEY_CLASSES_ROOT (2147483648 (0x80000000)) HKEY_CURRENT_USER (2147483649 (0x80000001)) HKEY_LOCAL_MACHINE (2147483650 (0x80000002)) HKEY_USERS (2147483651 (0x80000003))
HKEY_CURRENT_CONFIG (2147483653 (0x80000005)) HKEY_DYN_DATA (2147483654 (0x80000006))
删除注册表 语法:
Object.RegDelete(strName) 参数:
strName:键的路径名 实例:
Set swsh = CreateObject(\) regPath =
\ swsh.RegDelete(regPath+\) Set swsh = Nothing
程序很简单,关键是删除前该键路径是否存在,不存在的话会报错。
4. 获取当前路径
在自动化测试中获取当前路径是很重要的,不管对于脚本移植,还是在自动化测试框架中都有着非常重要的意义。当然利用FSO对象也是可以获取到相对路径的,我在后续的文章里会介绍。这里先举个很简单的例子
我在vbsEdit的目录下面加了一个vbs文件,就是打印一句话,我通过CurrentDirectory 去获取到当前的路径,然后直接运行我的vbs脚本,代码跟结果如下图。
总结:
WshShell是自动化测试中非常常用的技术,它提供的方法极大低简化了自动化测试过程中的一些操作,除了这些常用的方法外,它还存在很多其他方法,更多的方法可以参考微软提供的MSDN在线帮助。也欢迎大家关注我的博客:http://www.cnblogs.com/ryansunyu/