VBS + SendKeys 方法
将一个或多个键击发送到活动窗口(仿佛是在键盘上击键一样)。
object.SendKeys(string)
参数
object
WshShell 对象。
string
表示要发送的键击(一个或多个)的字符串值。
说明
使用 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} |
CAPS LOCK | {CAPSLOCK} |
DEL 或 DELETE | {DELETE} 或 {DEL} |
向下键 | {DOWN} |
END | {END} |
ENTER | {ENTER} 或 ~ |
ESC | {ESC} |
HELP | {HELP} |
HOME | {HOME} |
INS 或 INSERT | {INSERT} 或 {INS} |
向左键 | {LEFT} |
NUM LOCK | {NUMLOCK} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
PRINT SCREEN | {PRTSC} |
向右键 | {RIGHT} |
SCROLL LOCK | {SCROLLLOCK} |
TAB | {TAB} |
向上键 | {UP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
F13 | {F13} |
F14 | {F14} |
F15 | {F15} |
F16 | {F16} |
要发送由常规键击和 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}。
示例
下面的示例演示如何将一个 .wsf 文件用于以不同脚本语言(VBScript 和 Jscript)写成的两个作业。每个作业都运行 Windows 计算器并将它发送给键击以执行简单的计算。
<package><job id="vbs"><script language="VBScript">set WshShell = WScript.CreateObject("WScript.Shell")WshShell.Run "calc"WScript.Sleep 100WshShell.AppActivate "Calculator"WScript.Sleep 100WshShell.SendKeys
"1{+}"WScript.Sleep 500WshShell.SendKeys
"2"WScript.Sleep 500WshShell.SendKeys
"~"WScript.Sleep 500WshShell.SendKeys
"*3"WScript.Sleep 500WshShell.SendKeys
"~"WScript.Sleep 2500</script></job><job id="js"><script language="JScript">var WshShell = WScript.CreateObject("WScript.Shell");WshShell.Run("calc");WScript.Sleep(100);WshShell.AppActivate("Calculator");WScript.Sleep(100);WshShell.SendKeys
("1{+}");WScript.Sleep(500);WshShell.SendKeys
("2");WScript.Sleep(500);WshShell.SendKeys
("~");WScript.Sleep(500);WshShell.SendKeys
("*3");WScript.Sleep(500);WshShell.SendKeys
("~");WScript.Sleep(2500);</script></job> </package>
VBS + SendKeys 方法相关推荐
- vba转换为vbs的方法_vba代码改成vbs,该怎么解决(4)
当前位置:我的异常网» VB » vba代码改成vbs,该怎么解决 vba代码改成vbs,该怎么解决(4) www.myexceptions.net 网友分享于:2013-01-30 浏览:58次 ...
- 【VBS】vbs鼠标方法——模拟鼠标按键
引用于https://www.cnblogs.com/jinjiangongzuoshi/p/3821375.html Set mouse=New SetMouse'mouse.getpos x,y ...
- python sendkeys用法_selenium sendkeys方法总结
SendKeys可以给element做输出,也可以作为动作快捷键,比如ctrl c ,ctrl v ,.alt, enter等 当作为快捷键时,这些字符按需要转换格式. 当作为输入时,每个按键由一个或 ...
- VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223)
VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223) 1 VBS VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的 ...
- vbs(Visual Basic Script) 笔记
vbs(Visual Basic Script) 笔记 VBS是基于微软公司可视化Visual Basic的脚本语言,不编译成二进制文件, 直接由宿主(host)解释源代码并执行. vbsVisual ...
- VBS自动按键大全,vbs基本和特殊按键
示例: 1.简单自动点击脚本: Set objShell = CreateObject("Wscript.Shell") do WScript.Sleep 3000 objShel ...
- php控制鼠标,HTML_用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击),怎么用VBS模拟鼠标左键单击、 - phpStudy...
用VBS控制鼠标的实现代码(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 怎么用VBS模拟鼠标左键单击.左键双击.右键单击?-- 网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM( ...
- IIS日志清理CMD版,VBS版,JS版,WSH版
'IIS日志清理之IIS日志生成系统(CreateIISLog.vbs) '创建文件夹 Function CreateFolder(Folder) On Error Resume Next ...
- appium输入和清除操作各方法对比(android)
最近在写android app自动化测试时,发现输入和清除操作耗费时间比较长,下面我用了不同的方法进行输入和清除操作,对比下时间(选取测试的一组数据做分析),选出最佳方法. 1.输入操作 1.1.we ...
最新文章
- oc中特殊字符的判断方法
- 转载 开发人员一定要加入收藏夹的网站
- 对话国际农民丰收节贸易会-万祥军:雀巢全球谋定农民合作
- 2019ICPC(上海) - Counting Sequences I(dfs打表)
- 密码学专题 openssl编译和安装
- shell 自动回车_macos开机自动屏蔽独显
- 【英语学习】【Daily English】U15 Culture L04 When in Rome, do as the Romans Do
- StackExchange.Redis 官方文档(五) Keys, Values and Channels
- php 5.6.6.tar.gz.asc,Signature Checking Using GnuPG
- k8s Deployment
- STL学习笔记1--vector
- linux键盘修改工具,Linux 键盘映射的修改(Console)
- 第一章(1.2) 机器学习算法工程师技能树
- 计算机体系结构(国防科大)-第四章-指令级并行
- 计算机软件实习每日学习打卡(3)20201204
- 3款移动应用数据统计分析平台对比
- BGA封装的优缺点解析
- [转载] 支持支付宝付款的四大国外主机
- android 相机 app,android – Emulator的相机内置app buggy在Froyo / 2.2?
- 丁子高曝爱子长相似父母混合体 坦言:脸型像我