vbs brief doc - 7

上一篇 / 下一篇  2012-07-23 14:24:07 / 个人分类:VBS

妙用SendKeys简化重复操作1

 

每次开机的时候,你想自动登陆你的QQ或者博客吗?巧妙使用VBS中的SendKeys命令(这个命令的作用就是模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行),可以极大的方便我们的常用操作。其使用格式为:

Object.SendKeys string其中:

Object:为WshShell对象,即脚本的第一行为:

Set WshShell=WScript.CreateObject("WScript.Shell")  

Object替换为WshShell

string”:表示要发送的按键指令字符串,需要放在英文双引号中。它包含如下内容:

1.基本键:一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母“x”,使用“WshShell.SendKeys "x"”即可。当然,也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可,例如,要发送按键“cfan”,可以使用

WshShell.SendKeys "cfan"”。

2.特殊功能键:对于需要与ShiftCtrlAlt三个控制键组合的按键,SendKeys使用特殊字符来表示:Shift   ——   +Ctrl   ——   ^Alt   ——   %

如要发送的组合按键是同时按下CtrlE,需要用“WshShell.SendKeys "^e"”表示,如果要发送的组合按键是按住Ctrl键的同时按下EC两个键,这时应使用小括号把字母键起来,书写格式为“WshShell.SendKeys "^(ec)"”,这里要注意它与“WshShell.SendKeys "^ec"”的区别,后者表示组合按键是同时按住CtrlE键,然后松开Ctrl键,单独按下“C”字母键。
由于“+”“^”这些字符用来表示特殊的控制按键了,如何表示这些按键呢?只要用大括号住这些字符即可。例如,要发送加号“+”,可使用“WshShell.SendKeys "{+}"”。另外对于一些不会生成字符的控制功能按键,也同样需要使用大括号起来按键的名称,例如要发送回车键,需要用“WshShell.SendKeys "{ENTER}"”表示,发送向下的方向键用

WshShell.SendKeys "{DOWN}"”表示。

如果需要发送多个重复的单字母按键,不必重复输入该字母,SendKeys允许使用简化格式进行描述,使用格式为“{按键 数字}”。例如要发送10个字母“x”,则输入“WshShell.SendKeys "{x 10}"”即可。

WshShell.SendKeys "^{ESC}u"

代码的含义为:按下CtrlEsc组合键(相当于按Win键)打开开始菜单,接着按U键打开关机菜单。

例二:让VBS脚本自动在记事本中输入一行文字“hello, welcome to cfan”

Dim WshShell

Set WshShell=WScript.CreateObject("WScript.Shell")

WshShell.Run "notepad"

WScript.Sleep 2000   

//本行的含义为是脚本暂停2秒,给notepad一个打开的时间,有时时间太短可能导致后面的字符无法进入编辑区

WshShell.AppActivate "无标题-记事本

"//AppActivate为寻找可执行程序的标题框,无标题-记事本内容你的自己打开看一下

WshShell.SendKeys "hello, welcome to cfan"

作业1:让脚本自动输入下面两段小短句

This is the most wonderful day of my life
because I'm here with you now
作业
2:让脚本在输入短句后自动关闭记事本,并保存文件名为test,注意关闭记事本可以直接使用组合按键AltF4来实现。

TAG:

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 6294
  • 日志数: 15
  • 建立时间: 2012-07-12
  • 更新时间: 2012-07-30

RSS订阅

Open Toolbar