Microsoft Windows Script Host 2.0 | 语言参考 |
模仿键盘事件,将一个或多个击键事件发送到活动窗口。
SendKeys string
string
必选项。字符串表达式,指定要发送的击键。
每个键可用一个或多个字符表示。要指定单个键盘字符, 可使用字符本身。例如,要表示字母 A,可使用字符串 "A"。要表示多个字符,可依次将 其他字符添加到字符串中。例如,要表示字母 A、B 、 C,可使用字符串 "ABC"。
加号 (+)、脱字符 (^)、百分号 (%)、 波折号 (~) 以及括号 ( ) 对 SendKeys 具有特殊含义。要指定上述字符, 需使用大括号将其 ({}) 括起来。例如,如果要指定加号, 可使用 {+}。方括号 ([ ]) 对 SendKeys 没有特殊含义,但是也必须使用大括号。在其他应用程序中,方括号确实会有特殊的含义, 这对于需要进行动态数据交换 (DCE) 的情况是十分重要的。要 指定方括号字符,可使用 {{} 和 {}}。
要指定被按下时不显示的字符键,例如 ENTER 或 TAB,以及代表动作而不是字符的键,可使用以下代码:
键 | 代码 |
---|---|
BACKSPACE | {BACKSPACE}、{BS} 或 {BKSP} |
BREAK | {BREAK} |
CAPS LOCK | {CAPSLOCK} |
DEL 或 DELETE | {DELETE} or {DEL} |
下箭头 | {DOWN} |
END | {END} |
ENTER | {ENTER}or ~ |
ESC | {ESC} |
HELP | {HELP} |
HOME | {HOME} |
INS 或 INSERT | {INSERT} or {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 等键按下时的一些击键, 可以将这些键的代码放在括号中。例如,要指定在按下 SHIFT 键时按 E 和 C, 可使用 "+(EC)"。要指定在 SHIFT 被按下时按 E, 按 C 时不处于 SHIFT 状态,则可以使用 "+EC"。
要指定重复的键,可使用 {键 个数} 的形式。键和个数之间必须有一个空格。例如,{LEFT 42} 表示按左箭头键 42 次;{h 10} 表示按 H 10 次。
注意 如果应用程序不是为 Microsoft Windows 设计的,则不能够使用 SendKeys 对其发送击键。另外,Sendkeys 不能向任何应用程序发送 PRINT SCREEN 键 {PRTSC}。
下例演示了如何在两个使用不同脚本语言(VBScript and JScript)的任务中使用同一个 .wsf 文件。这两个任务的功能相同——即启动Windows 计算器和发出键击来执行一些简单计算。
<package>
<job id="vbs">
<script language="VBScript">
set 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>
<job id="js">
<script language="Javascript">
var WshShell = new ActiveXObject("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>
详细信息请参阅:运行脚本
应用于: WshShell 对象