SendKeys 语句示例
本示例使用 Shell 函数来运行 Microsoft Windows 所附的计算器程序;然后使用 SendKeys 语句来按下计算器的某些数字键,最后退出计算器。(若要观察示例运行过程,可将示例粘贴到过程中,再运行过程即可。因为
AppActivate 会将焦点转移到计算器应用程序,故本示例不能以单步方式来运行。)。在 Macintosh上,使用Macintosh
应用程序接受键盘输入而不是用Windows 计算器。
Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) '运行计算器。AppActivate ReturnValue '激活计算器。For I = 1 To 100 '设置计数循环。SendKeys I & "{+}", True '按下按键给计算器Next I '将所有I值相加。SendKeys "=", True '取得总合。SendKeys "%{F4}", True '按ALT+F4关闭计算器。
SendKeys 语句
请参阅 示例 特性
将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。
语法
SendKeys string[, wait]
SendKeys 语句的语法具有以下几个命名参数:
部分
|
描述
|
string
|
必需的。字符串表达式,指定要发送的按键消息。
|
Wait
|
可选的。指定等待方式的 BooleandefBooleanDataType@veendf98.chm 值。如果为 False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为 True,则按键消息必须在控件返回到过程之前加以处理。
|
说明
每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用"A"作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用"ABC"作为 string。
对 SendKeys 来说,加号 (+)、插入符 (^)、百分比符号
(%)、上划线 (~) 及圆括号 ( ) 都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号 ({})
当中。例如,要指定正号,可用 {+}表示。方括号 ([ ]) 对 SendKeys 来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换 (DDE) 的时候,它可能具有重要意义。为了指定大括号字符,请使用
{{}及 {}}。
为了在按下按键时指定那些不显示的字符,例如 ENTER 或 TAB 以及那些表示动作而非字符的按键,请使用下列代码:
按键
|
代码
|
BACKSPACE
|
{BACKSPACE}, {BS}, 或
{BKSP}
|
BREAK
|
{BREAK}
|
CAPS LOCK
|
{CAPSLOCK}
|
DEL or DELETE
|
{DELETE}或 {DEL}
|
DOWN ARROW
|
{DOWN}
|
END
|
{END}
|
ENTER
|
{ENTER}或~
|
ESC
|
{ESC}
|
HELP
|
{HELP}
|
HOME
|
{HOME}
|
INS or INSERT
|
{INSERT}或 {INS}
|
LEFT ARROW
|
{LEFT}
|
NUM LOCK
|
{NUMLOCK}
|
PAGE DOWN
|
{PGDN}
|
PAGE UP
|
{PGUP}
|
PRINT SCREEN
|
{PRTSC}
|
RIGHT ARROW
|
{RIGHT}
|
SCROLL LOCK
|
{SCROLLLOCK}
|
TAB
|
{TAB}
|
UP ARROW
|
{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 的时候同时按下 SHIFT 键,但接着按 C
而不按 SHIFT,则使用 "+EC"。
为了指定重复键,使用 {key number}的形式。必须在key与number之间放置一个空格。例如,{LEFT 42}意指 42 次按下 LEFT ARROW
键;{h 10}则是指 10 次按下 H 键。
注意 不能用 SendKeys 将按键消息发送到这样一个应用程序,这个应用程序并没有被设计成在
Microsoft Windows or Macintosh中运行。Sendkeys 也无法将 PRINT SCREEN 按键
{PRTSC} 发送到任何应用程序。