SendKeys 方法

模仿键盘事件,将一个或多个击键事件发送到活动窗口。

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