
全部展开
无法进行批处理. VBS非常简单. 一个例子如下
设置objShell = CreateObject(“ Wscript.Shell”)
做
WScript.Sleep 3000
objShell.SendKeys“ {F5}”
WScript.Sleep 3000
objShell.SendKeys“ {F5}”
循环
使用SendKeys方法将击键发送到没有自动界面的应用程序. 大多数键盘字符可以用一个键来表示. 某些键盘字符由多个击键组成(例如,CTRL + SHIFT + HOME). 要发送单个键盘字符,请将字符本身作为字符串参数发送. 例如,要发送字母x,请发送字符串参数“ x”.
您可以使用SendKeys同时发送多个击键. 为此,您可以将每个击键顺序排列在一起,以创建一个表示一系列击键的复合字符串参数. 例如,要发送击键a,b和c,您需要发送字符串参数“ abc”. SendKeys方法使用某些字符作为字符的修饰符(不使用其自身的含义). 这组特殊的字符可以包括括号,方括号,花括号和:
加号“ +”
插入“ ^”
百分号“%”
和“非”符号“〜”
将这些字符括在大括号“ {}”中以进行发送. 例如,要发送加号,请使用字符串参数“ {+}”. SendKeys中使用的方括号“ []”没有特殊含义,但是必须将其括在大括号中,以容纳确实具有特殊含义的应用程序(例如,用于动态数据交换(DDE)).
要发送左括号字符,请发送字符串参数“ {[}”;要发送右括号字符,请发送字符串参数“ {]}”.
要发送左括号字符,请发送字符串参数“ {{}”;要发送右大括号字符,请发送字符串参数“ {}}”.
某些键击不会生成字符(例如ENTER和TAB). 一些按键代表动作(例如BACKSPACE和BREAK). 要发送这些类型的击键,请发送下表中列出的参数:
空格键“”
退格键{BACKSPACE}或{BS}或{BKSP}
BREAK {BREAK}
删除{DELETE}或{DEL}
向下箭头{DOWN}
向上箭头{UP}
左箭头{LEFT}
向右箭头{RIGHT}
END {END}
ENTER {ENTER}或〜
ESC {ESC}
TAB {TAB}
大写锁定{CAPSLOCK}
帮助{HELP}

HOME {HOME}
INSERT {INSERT}或{INS}
NUM LOCK {NUMLOCK}
向下翻页{PGDN}
PAGE UP {PGUP}
打印屏幕{PRTSC}
SCROLL LOCK {SCROLLLOCK}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
要发送由常规击键和SHIFT,CTRL或ALT组合而成的键盘字符,请创建一个代表击键组合的复合字符串参数. 可以通过在常规按键之前添加以下一个或多个特殊字符来完成此操作:
SHIFT +
CTRL ^
ALT%
注意: 以这种方式使用时,请勿使用花括号将这些特殊字符括起来.
要指定在按下多个其他键时同时按下SHIFT,CTRL和ALT的组合,请创建一个复合字符串参数,并将组合键括在括号内. 例如,要发送的组合键指定:
如果在按e和c的同时按SHIFT键,则将发送字符串参数“ +(ec)”.
如果仅在按e时按c(而不是SHIFT),则发送字符串参数“ + ec”.
您可以使用SendKeys方法来发送重复击键的击键. 为此批处理文件 模拟按键,创建一个复合字符串参数以指定要重复的击键,然后指定其后的重复次数. 可以使用{击键号}形式的复合字符串参数来完成此操作. 例如,如果要发送“ x”十次,则需要发送字符串参数“ {x10}”. 确保按键和数字之间有空格.
注意: 您只能发送重复按下某个键的击键. 例如,您可以发送10次“ x”批处理文件 模拟按键,但不能发送10次“ Ctrl + x”.
注意: 您不能将PRINTSCREEN键{PRTSC}发送到应用程序.
示例1: 关机脚本(模拟击键: Ctrl + Esc,u,u)
将以下代码复制到记事本并另存为off.vbs
set WshShell = CreateObject(“ WScript.Shell”)

WshShell.SendKeys“ ^ {ESC} uu”
示例2: 重新启动脚本(模拟击键: Ctrl + Esc,u,r)
将以下代码复制到记事本,并将其另存为reboot.vbs
set WshShell = CreateObject(“ WScript.Shell”)
WshShell.SendKeys“ ^ {ESC} ur”
示例3: 切换输入法(同时按: Shift Ctrl)
set WshShell = CreateObject(“ WScript.Shell”)
WshShell.SendKeys“ +(^)”
示例4: 输入cn-dos.net!到记事本并另存为CnDos.txt
昏暗的WshShell
设置WshShell = WScript.CreateObject(“ WScript.Shell”)
WshShell. 运行“记事本”
WScript.Sleep 1500
WshShell.AppActivate“无标题的记事本”
WshShell.SendKeys“ c”
WScript.Sleep 200
WshShell.SendKeys“ n”
WScript.Sleep 200
WshShell.SendKeys“-”
WScript.Sleep 200
WshShell.SendKeys“ d”
WScript.Sleep 200
WshShell.SendKeys“ o”
WScript.Sleep 200
WshShell.SendKeys“ s”
WScript.Sleep 200
WshShell.SendKeys“. ”
WScript.Sleep 200
WshShell.SendKeys“ n”
WScript.Sleep 200
WshShell.SendKeys“ e”
WScript.Sleep 200
WshShell.SendKeys“ t”

WScript.Sleep 200
WshShell.SendKeys“!”
WScript.Sleep 200
WshShell.SendKeys“%FS”
WScript.Sleep 500
WshShell.SendKeys“ C”
WScript.Sleep 200
WshShell.SendKeys“ n”
WScript.Sleep 200
WshShell.SendKeys“ D”
WScript.Sleep 200
WshShell.SendKeys“ o”
WScript.Sleep 200
WshShell.SendKeys“ s”
WScript.Sleep 200
WshShell.SendKeys“%S”
WScript.Sleep 500
WshShell.SendKeys“%FX”
示例5: 具有自动节省时间的记事本(此脚本来自Internet)
“第1部分: 定义变量和对象
Dim WshShell,AutoSaveTime,TXTFileName
AutoSaveTime =(1000 * 60 * 1)'自动保存时间为1分钟
设置WshShell = WScript.CreateObject(“ WScript.Shell”)
TXTFileName = InputBox(“为文本命名(不能使用中文和纯数字): ”)
“第2部分: 打开并激活记事本
WshShell. 运行“记事本”
WScript.Sleep 200
WshShell.AppActivate“无标题的记事本”
“第三部分: 使用输入的文件名保存
WshShell.SendKeys“ ^ s”
WScript.Sleep 300
WshShell.SendKeys TXTFileName
WScript.Sleep 300

WshShell.SendKeys“%s”
WScript.Sleep AutoSaveTime
“第4部分: 自动定时保存
WshShell.AppActivate(TXTFileName)= True
WshShell.SendKeys“ ^ s”
WScript.Sleep AutoSaveTime
参加
WScript.Quit
示例:
set objShell = CreateObject(“ Wscript.Shell”)
strCommandLine =“ psetup755281.exe”'启动安装程序
objShell.Run(strCommandLine)
set WshShell = CreateObject(“ WScript.Shell”)
WScript.Sleep 2000'延迟3秒
WshShell.SendKeys“ {ENTER}”'模拟按Enter键以执行下一步
WScript.Sleep 300'延迟3秒
WshShell.SendKeys“ {ENTER}”'模拟按Enter键以执行下一步
WScript.Sleep 300'延迟3秒
WshShell.SendKeys“ {ENTER}”'模拟按Enter键以执行下一步
WScript.Sleep 5200'延迟3秒
WshShell.SendKeys“ {ENTER}”'模拟按Enter键以执行下一步
WScript.Sleep 300'延迟3秒
WshShell.SendKeys“ {ENTER}”'模拟按Enter键以执行下一步
WScript.Sleep 300'延迟3秒
WshShell.SendKeys“ {ENTER}”'模拟按Enter键以执行下一步
WScript.Sleep 200
WshShell.SendKeys“”'模拟在安装百度超级搜索Pa行之前按空格键删除√符号
WScript.Sleep 100
WshShell.SendKeys“ {TAB}”'模拟按Tab键选择安装项
WScript.Sleep 200
WshShell.SendKeys“”'模拟在安装百度超级搜索Pa行之前按空格键删除√符号
WScript.Sleep 200'0.3秒延迟
WshShell.SendKeys“ f”'模拟按F键同意该协议
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-162473-1.html
这么些年发展成果着实不易