实例2:模拟特殊键。
此处特别说明一下几个常用的特殊键:CTRL、SHIFT、ALT这3个常用组合键直接使用+、^、%,其余的除字母键外的功能键,如{Esc}、{Enter}。
键 名 |
参 数 |
SHIFT |
+ |
CTRL |
^ |
ALT |
% |
表3-1中的键名大多是通过组合键来使用,来看如下脚本:
'创建WshShell对象 Set wshShell = CreateObject("wscript.shell") '发送Ctrl+Shift + Esc组合键 wshShell.SendKeys("^+{Esc}") '释放WshShell对象 Set wshShell = Nothing |
分析:
执行完以上脚本后,会自动弹出任务管理器。此处的“^+{Esc}”代表输入了组合键Ctrl+Shift+Esc调出了任务管理器,但是这里需要注意,使用sendkeys发送Ctrl+Alt+Del无法调出任务管理器。
3.5.5 轻松完成注册表的读写
在自动化过程中,某些特殊的情况下,可能会使用到注册表的操作,如需要加入启动项的操作,那么需要进入“HKLM\Software\Microsoft\Windows\CurrentVersion\Run”添加一个启动键值。此时WshShell就发挥作用了,它提供了3种方法供我们对注册表的操作:增加、读取、删除。
3.5.5.1 注册表信息增加
● 语法:
object.RegWrite(strName, anyValue [,strType]) |
● 参数:
StrName:键的路径名。
anyValue:键的value值。
strType:键的类型。
● 返回值:无。
实例:在启动项中增加一项。
'创建WshShell对象 Set wshShell = CreateObject("wscript.shell") '初始化注册表路径 regPath = "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\"'写注册表信息 wshShell.RegWrite regPath+"zzxxbb112","d:\1.vbs","REG_SZ" '释放对象 Set wshShell = Nothing |
分析:
执行以上脚本后,可以在路径“HKLM\Software\Microsoft\Windows\CurrentVersion\Run\”下找到新建的一个键zzxxbb112,它的value值为d:\1.vbs ,类型为REG_SZ,此路径即为Windows的启动项注册表路径。可以在此处随意添加自己想要的开机启动项,当执行了RegWrite方法后,注册表就会自动把zzxxbb112这个键注入到启动项里,如图3-47所示。
如图3-47所示,可以看到在Run路径下有很多的启动项,此处都是之前装软件时有些软件自动注入的,箭头指的地方就是刚才添加进去的一个字符串值,可以清楚地看到名字为zzxxbb112,值为“d:\1.vbs”,一旦此值被添加后,在重新启动Windows时即会自动运行d:\1.vbs,对于间断性重启的自动化测试来说,此方法是一个非常有用的。
3.5.5.2 注册表信息读取
● 语法:
object.RegRead(strName) |
图3-47
● 参数。
键的路径名。
● 返回值:
键的value值。