怎样使用BAT脚本实现自动按键盘的某个键

这篇博客介绍了如何使用VBScript(VBS)来模拟键盘事件,实现批处理任务,例如自动关机、重启、切换输入法、在记事本中输入文本并保存,以及自动执行安装程序等。通过SendKeys方法,可以向无自动化界面的应用程序发送键盘输入,包括特殊键和组合键。示例代码展示了如何通过VBS脚本来执行各种键盘操作,从而实现自动化任务。

批处理是不行的 用VBS 很简单 例子如下
Set objShell = CreateObject(“Wscript.Shell”)
do
WScript.Sleep 3000
objShell.SendKeys “{F5}”
WScript.Sleep 3000
objShell.SendKeys “{F5}”
loop
使用 SendKeys 方法可以将键击发送到无自动化界面的应用程序中。多数键盘字符都可用一个键击表示。某些键盘字符由多个键击组合而成(例如,CTRL+SHIFT+HOME)。要发送单个键盘字符,请将字符本身作为 string 参数发送。例如,要发送字母 x,则请发送 string 参数 “x”。
可使用 SendKeys 同时发送多个键击。为此,可将每个键击按顺序排列在一起,以此来创建表示一系列键击的复合字符串参数。例如,要发送键击 a、b 和 c,则需要发送字符串参数 “abc” 。SendKeys 方法将某些字符用作字符的修饰符(而不使用其本身的含义)。这组特殊的字符可包括圆括号、中括号、大括号,以及:
加号 “+”
插入记号 “^”
百分号 “%”
和“非”符号 “~”
用大括号 “{}” 括起这些字符可以发送它们。例如,要发送加号,请使用字符串参数 “{+}”。SendKeys中使用的中括号 “[ ]” 无任何特殊含义,但是必须把它们括在大括号中,以便容纳确实要赋予其特殊含义的应用程序(例如,对于动态数据交换 (DDE) 就是这样)。
要发送左中括号字符,请发送字符串参数 “{[}”;要发送右中括号字符,请发送字符串参数 “{]}”。
要发送左大括号字符,请发送字符串参数 “{{}”;要发送右大括号字符,请发送字符串参数 “{}}”。
某些键击不生成字符(如 ENTER 和 TAB)。某些键击表示操作(如 BACKSPACE 和 BREAK)。要发送这些类型的键击,请发送下表中列出的参数:
空格键 " "
退格键 {BACKSPACE} 或 {BS} 或 {BKSP}
BREAK {BREAK}
DELETE {DELETE} 或 {DEL}
向下键 {DOWN}
向上键 {UP}
向左键 {LEFT}
向右键 {RIGHT}
END {END}
ENTER {ENTER} 或 ~
ESC {ESC}
TAB {TAB}
CAPS LOCK {CAPSLOCK}
HELP {HELP}
HOME {HOME}
INSERT {INSERT} 或 {INS}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {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 方法发送一种在一行内重复按键的键击。为此,要创建复合字符串参数,以指定要重复的键击,并在其后指定重复次数。可使用 {键击 数字} 形式的复合字符串参数来完成上述操作。例如,如果要发送 10 次 “x”,则需要发送字符串参数 “{x 10}”。请确保在键击和数字之间有一个空格。
注意:只可以发送重复按一个键的键击。例如,可以发送 10 次 “x”,但不可发送 10 次 “Ctrl+x”。
注意:不能向应用程序发送 PRINT SCREEN 键 {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
Dim WshShell
Set WshShell=WScript.CreateObject(“WScript.Shell”)
WshShell.Run “notepad”
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:自动定时存盘的记事本(此脚本来自网上)
'第一部分:定义变量和对象
Dim WshShell, AutoSaveTime, TXTFileName
AutoSaveTime=(1000601) '自动存盘时间为1分钟
Set WshShell=WScript.CreateObject(“WScript.Shell”)
TXTFileName=InputBox(“给文本起名(不能用中文和纯数字):”)
'第二部分:打开并激活记事本
WshShell.Run “notepad”
WScript.Sleep 200
WshShell.AppActivate “无标题 - 记事本”
'第三部分:用输入的文件名存盘
WshShell.SendKeys “^s”
WScript.Sleep 300
WshShell.SendKeys TXTFileName
WScript.Sleep 300
WshShell.SendKeys “%s”
WScript.Sleep AutoSaveTime
'第四部分:自动定时存盘
While WshShell.AppActivate (TXTFileName)=True
WshShell.SendKeys “^s”
WScript.Sleep AutoSaveTime
Wend
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}” '模拟按下回车键执行下一步
WScript.Sleep 300 '延时3秒
WshShell.SendKeys “{ENTER}” '模拟按下回车键执行下一步
WScript.Sleep 300 '延时3秒
WshShell.SendKeys “{ENTER}” '模拟按下回车键执行下一步
WScript.Sleep 5200 '延时3秒
WshShell.SendKeys “{ENTER}” '模拟按下回车键执行下一步
WScript.Sleep 300 '延时3秒
WshShell.SendKeys “{ENTER}” '模拟按下回车键执行下一步
WScript.Sleep 300 '延时3秒
WshShell.SendKeys “{ENTER}” '模拟按下回车键执行下一步
WScript.Sleep 200
WshShell.SendKeys " " '模拟按下空格键去除安装百度超级搜霸一行前的√号
WScript.Sleep 100
WshShell.SendKeys “{TAB}” '模拟按下 Tab 键选择安装项目
WScript.Sleep 200
WshShell.SendKeys " " '模拟按下空格键去除安装百度超级搜霸一行前的√号
WScript.Sleep 200 '延时0.3秒
WshShell.SendKeys “f” '模拟按下 F键同意协议

转载:https://zhidao.baidu.com/question/97848681.html

f1 显示当前程序或者windows的帮助内容。 f2 当你选中一个文件的话,这意味着“重命名” f3 当你在桌面上的时候是打开“查找:所有文件” 对话框 f10或alt 激活当前程序的菜单栏 windows或ctrl+esc 打开开始菜单 ctrl+alt+delete 在win9x中打开关闭程序对话框 delete 删除被选择的选择项目,如果是文件,将被放入回收站 shift+delete 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 ctrl+n 新建一个新的文件 ctrl+o 打开“打开文件”对话框 ctrl+p 打开“打印”对话框 ctrl+s 保存当前操作的文件 ctrl+x 剪切被选择的项目到剪贴板 ctrl+insert 或 ctrl+c 复制被选择的项目到剪贴板 shift+insert 或 ctrl+v 粘贴剪贴板中哪谌莸降鼻拔恢? alt+backspace 或 ctrl+z 撤销上一步的操作 alt+shift+backspace 重做上一步被撤销的操作 windows+m 最小化所有被打开的窗口。 windows+ctrl+m 重新将恢复上一项操作前窗口的大小和位置 windows+e 打开资源管理器 windows+f 打开“查找:所有文件”对话框 windows+r 打开“运行”对话框 windows+break 打开“系统属性”对话框 windows+ctrl+f 打开“查找:计算机”对话框 shift+f10或鼠标右击 打开当前活动项目的快捷菜单 shift 在放入cd的时候按下不放,可以跳过自动播放cd。在打开word的时候按下不放,可以跳过自启动的宏 alt+f4 关闭当前应用程序 alt+spacebar 打开程序最左上角的菜单 alt+tab 切换当前程序 alt+esc 切换当前程序 alt+enter 将windows下运行的msdos窗口在窗口和全屏幕状态间切换 print screen 将当前屏幕以图象方式拷贝到剪贴板 alt+print screen 将当前活动程序窗口以图象方式拷贝到剪贴板 ctrl+f4 关闭当前应用程序中的当前文本(如word中) ctrl+f6 切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口) 在ie中: alt+right arrow 显示前一页(前进) alt+left arrow 显示后一页(后退) ctrl+tab 在页面上的各框架中切换(加shift反向) f5 刷新 ctrl+f5 强行刷新 目的快捷 激活程序中的菜单栏 f10 执行菜单上相应的命令 alt+菜单上带下划线的字母 关闭多文档界面程序中的当 前窗口 ctrl+ f4 关闭当前窗口或退出程序 alt+ f4 复制 ctrl+ c 剪切 ctrl+ x 删除 delete 显示所选对话框项目的帮助 f1 显示当前窗口的系统菜单 alt+空格 显示所选项目的快捷菜单 shift+ f10 显示“开始”菜单 ctrl+ esc 显示多文档界面程序的系统 菜单 alt+连字号(-) 粘贴 ctr l+ v 切换到上次使用的窗口或者 按住 alt然后重复按tab, 切换到另一个窗口 alt+ tab 撤消 ctrl+ z 二、使用“windows资源管理器”的快捷 目的快捷 如果当前选择展开了,要折 叠或者选择父文件夹左箭头 折叠所选的文件夹 num lock+负号(-) 如果当前选择折叠了,要展开 或者选择第一个子文件夹右箭头 展开当前选择下的所有文件夹 num lock+* 展开所选的文件夹 num lock+加号(+) 在左右窗格间切换 f6 三、使用 windows 可以使用 microsoft自然键盘或含有 windows徽标的其他任何兼容键盘的以下快捷。 目的快捷 在任务栏上的按钮间循环 windows+ tab 显示“查找:所有文件” windows+ f 显示“查找:计算机” ctrl+ windows+ f 显示“帮助” windows+ f1 显示“运行”命令 windows+ r 显示“开始”菜单 windows 显示“系统属性”对话框 windows+ break 显示“windows资源管理器” windows+ e 最小化或还原所有窗口 windows+ d 撤消最小化所有窗口 shift+ windows+ m 四、使用“我的电脑”和“windows资源管理器”的快捷 目的快捷 关闭所选文件夹及其所有父 文件夹按住 shift再单击“关闭按钮(仅适用于“我的电脑”) 向后移动到上一个视图 alt+左箭头 向前移动到上一个视图 alt+右箭头 查看上一级文件夹 backspace 五、使用对话框中的快捷 目的快捷 取消当前任务 esc 如果当前控件是个按钮,要 单击该按钮或者如果当前控 件是个复选框,要选择或清 除该复选框或者如果当前控 件是个选项按钮,要单击该 选项空格 单击相应的命令 alt+带下划线的字母 单击所选按钮 enter 在选项上向后移动 shift+ tab 在选项卡上向后移动 ctrl+ shift+ tab 在选项上向前移动 tab 在选项卡上向前移动 ctrl+ tab 如果在“另存为”或“打开” 对话框中选择了某文件夹, 要打开上一级文件夹 backspace 在“另存为”或“打开”对 话框中打开“保存到”或 "查阅” f4 刷新“另存为”或“打开” 对话框 f5 六、使用“桌面”、“我的电脑”和“windows资源管理器”快捷 选择项目时,可以使用以下快捷。 目的快捷 插入光盘时不用“自动播放” 功能按住 shift插入 cd-rom 复制文件按住 ctrl拖动文件 创建快捷方式按住 ctrl+shift拖动文件 立即删除某项目而不将其放入 shift+delete “回收站” 显示“查找:所有文件” f3 显示项目的快捷菜单 application 刷新窗口的内容 f5 重命名项目 f2 选择所有项目 ctrl+ a 查看项目的属性 alt+ enter或 alt+双击 可将 application用于 microsoft自然键盘或含有 application的其他兼容 七、microsoft放大程序的快捷 这里运用windows徽标和其他的组合。 快捷目的 windows徽标+print screen将屏幕复制到剪贴板(包括鼠标光标) windows徽标+scroll lock将屏幕复制到剪贴板(不包括鼠标光标) windows徽标+ page up切换反色。 windows徽标+ page down切换跟随鼠标光标 windows徽标+向上箭头增加放大率 windows徽标+向下箭头减小放大率 八、使用辅助选项快捷 目的快捷 切换筛选开关右shift八秒 切换高对比度开关左alt+左shift+print screen 切换鼠标开关左alt+左shift+num lock 切换粘滞开关 shift五次 切换切换开关 num lock五秒
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值