其使用格式为:object.SendKeysstring
“object”:表示WshShell对象
“string”:表示要发送的按键指令字符串,需要放在英文双引号中。
1.基本键
一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母“x”,使用“WshShell.SendKeys"x"”即可。当然,也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可,例如,要发送按键“happy”,可以使用“WshShell.SendKeys"happy"”。
2.特殊功能键
对于需要与Shift、Ctrl、Alt三个控制键组合的按键,SendKeys使用特殊字符来表示:
Shift---------WshShell.SendKeys"+"
Ctrl---------WshShell.SendKeys"^"
Alt---------WshShell.SendKeys"%"
由于“+”、“^”这些字符用来表示特殊的控制按键了,如何表示这些按键呢?
只要用大括号括住这些字符即可。例如:
要发送加号“+”,可使用“WshShell.SendKeys"{+}"”
另外对于一些不会生成字符的控制功能按键,也同样需要使用大括号括起来按键的名称,例如要发送回车键,需要用“WshShell.SendKeys"{ENTER}"”表示,发送向下的方向键用“WshShell.SendKeys"{DOWN}"”表示。
Space---------WshShell.SendKeys""
Enter---------WshShell.SendKeys"{ENTER}"
←---------WshShell.SendKeys"{RIGHT}"
↑---------WshShell.SendKeys"{UP}"
F1---------WshShell.SendKeys"{F1}"
Tips:如果需要发送多个重复的单字母按键,不必重复输入该字母,SendKeys允许使用简化格式进行描述,使用格式为“{按键数字}”。例如要发送10个字母“x”,则输入“WshShell.SendKeys"{x10}"”即可。
实例:
----------------------------------------------------
按下F5刷新桌面
DimWshShell,Path,i
SetWshShell=WScript.CreateObject("WScript.Shell")
WshShell.SendKeys"{F5}"
----------------------------------------------------
电脑的自动重启
setWshShell=CreateObject("WScript.Shell")
WshShell.SendKeys"^{ESC}u"
WshShell.SendKeys"R"
----------------------------------------------------
启动任务管理器
setWshShell=CreateObject("WScript.Shell")
WshShell.SendKeys"^+{ESC}"
----------------------------------------------------
QQ消息群发
DimWshShell
SetWshShell=WScript.createObject("WScript.Shell")
WshShell.AppActivate"bomb"
fori=1to60
WScript.Sleep800
WshShell.SendKeys"Number0"
WshShell.SendKeysi
WshShell.SendKeys"%s"
next
----------------------------------------------------
自动到百度搜索歌曲:whiteflag
DimWshShell,Path,i
SetWshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run("IEXPLORE.EXE")
WScript.Sleep2000
WshShell.AppActivate"about:blank-MicrosoftInternetExplorer"
WshShell.SendKeys"+{TAB}"
WshShell.SendKeys"http://mp3.baidu.com"
WScript.Sleep800
WshShell.SendKeys"{ENTER}"
WScript.Sleep3000
WshShell.SendKeys"whiteflag"
WScript.Sleep800
WshShell.SendKeys"{ENTER}"
----------------------------------------------------
在记事本中输入HappyBirthday!并保存为birth.txt
DimWshShell
SetWshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run"notepad"
WScript.Sleep1500
WshShell.AppActivate"无标题-记事本"
WshShell.SendKeys"H"
WScript.Sleep500
WshShell.SendKeys"a"
WScript.Sleep500
WshShell.SendKeys"p"
WScript.Sleep500
WshShell.SendKeys"p"
WScript.Sleep500
WshShell.SendKeys"y"
WScript.Sleep500
WshShell.SendKeys""
WScript.Sleep500
WshShell.SendKeys"B"
WScript.Sleep500
WshShell.SendKeys"i"
WScript.Sleep500
WshShell.SendKeys"r"
WScript.Sleep500
WshShell.SendKeys"t"
WScript.Sleep500
WshShell.SendKeys"h"
WScript.Sleep500
WshShell.SendKeys"d"
WScript.Sleep500
WshShell.SendKeys"a"
WScript.Sleep500
WshShell.SendKeys"y"
WScript.Sleep500
WshShell.SendKeys"!"
WScript.Sleep500
WshShell.SendKeys"%FS"
WScript.Sleep500
WshShell.SendKeys"b"
WScript.Sleep500
WshShell.SendKeys"i"
WScript.Sleep500
WshShell.SendKeys"r"
WScript.Sleep500
WshShell.SendKeys"t"
WScript.Sleep500
WshShell.SendKeys"h"
WScript.Sleep500
WshShell.SendKeys"%S"
WScript.Sleep500
WshShell.SendKeys"%FX"
----------------------------------------------------
制作能自动定时存盘的记事本
'第一部分:定义变量和对象
DimWshShell,AutoSaveTime,TXTFileName
AutoSaveTime=300000
SetWshShell=WScript.CreateObject("WScript.Shell")
TXTFileName=InputBox("请输入你要创建的文件名(不能用中文和纯数字):")
'第二部分:打开并激活记事本
WshShell.Run"notepad"
WScript.Sleep200
WshShell.AppActivate"无标题-记事本"
'第三部分:用输入的文件名存盘
WshShell.SendKeys"^s"
WScript.Sleep300
WshShell.SendKeysTXTFileName
WScript.Sleep300
WshShell.SendKeys"%s"
WScript.SleepAutoSaveTime
'第四部分:自动定时存盘
WhileWshShell.AppActivate(TXTFileName)=True
WshShell.SendKeys"^s"
WScript.SleepAutoSaveTime
Wend
WScript.Quit
----------------------------------------------------
死机的,嘿嘿!
DIMWSHSHELL
SETWSHSHELL=WSCRIPT.CREATEOBJECT("WSCRIPT.SHELL")
'WSHSHELL.RUN""
'WSCRIPT.SLEEP1000
WSHSHELL.SENDKEYS"{ENTER}"
'WSCRIPT.SLEEP1000
WSHSHELL.SENDKEYS"{ENTER}"
'WSCRIPT.SLEEP1000
WSHSHELL.SENDKEYS"{ENTER}"
'WSCRIPT.SLEEP1000
WSHSHELL.SENDKEYS"{ENTER}"
'WSCRIPT.SLEEP1000
WSHSHELL.SENDKEYS"{ENTER}"
----------------------------------------------------
定时关机的
DimWshShell
SetWshShell=WScript.CreateObject("WScript.Shell")
WScript.Sleep2000
WshShell.Run"shutdown-r-t120"
wscript.sleep6000
WshShell.Run"shutdown-a