| 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 对象