收藏
0有用+1
0

sendkeys

编程语句
SendKeys 是 Visual Basic 中的一个编程语句,可将一个或多个按键消息发送到活动窗口,如同用键盘进行输入一样。发送某些特殊字符时须用一对大括号(“{ }”)围起来,某些特殊按键要使用专用代码,也可设置为各类组合键。
中文名
sendkeys
隶    属
Visual Basic
属    性
编程语句
语    法
SendKeys string[, wait]

语法

播报
编辑
SendKeys string[, wait]

参数意义

播报
编辑
s胶求trin迁旬凝渗提拳婶员愚g部分组艰必需的,字符串表达式,指定要发送的按雄牛钻充键消息。
Wait可选的,指定等待方式的值。如果为 False(缺省值),则控件在按键发送出去之后立刻返回腊糊脚到过程;如果为 True,则按键消息必须在控件返回到过程之前加以处理。说明每个按键由一个或多个字符表己润档示。

用法

播报
编辑
(1)为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用 "A" 作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用 "ABC" 作为 string。
(2)对 SendKeys 来说,加号+ 插入符^百分号%上划线~圆括号( ) 都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号{ }当中。例如,要指定正号,可用 {+} 表示。为了指定大括号字符,请使用 {{} 及 {}}。方括号 [ ] 对 SendKeys 来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换 (DDE) 的时候,它可能具有重要意义。
(3)为了在按下按键时指定那些不显示的字符,例如 ENTER 或 TAB 以及那些表示动作而非字符的按键,请使用下列代码:
按键
代码
BACKSPACE
{BACKSPACE}, {BS}或{BKSP}
BREAK
{BREAK}
CAPS LOCK
{CAPSLOCK}
DEL or DELETE
{DELETE} 或 {DEL}
ENTER
{ENTER}或 ~
ESC
{ESC}
NUM LOCK
{NUMLOCK}
SCROLL LOCK
{SCROLLLOCK}
UP ARROW
{UP}
DOWN ARROW
{DOWN}
LEFT ARROW
{LEFT}
RIGHT ARROW
{RIGHT}
END
{END}
HOME
{HOME}
INS or INSERT
{INSERT} 或 {INS}
PAGE DOWN
{PGDN}
PAGE UP
{PGUP}
PRINT SCREEN
{PRTSC}
WIN
^{ESC}
TAB
{TAB}
HELP
{HELP}
F1
{F1}
F2
{F2}
F3
{F3}
F4
{F4}
F5
{F5}
F6
{F6}
F7
{F7}
F8
{F8}
F9
{F9}
F10
{F10}
F11
{F11}
F12
{F12}
注意:如果要输出空格可以这样编写程序:“sendkeys(" ")”
(4)为了指定那些与 SHIFT、CTRL 及 ALT 等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:
按键
代码
SHIFT
+
CTRL
^
ALT
%
(5)为了说明在按下其它按键时应同时按下 SHIFT、CTRL、及 ALT 的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下 E 与 C 的时候同时按下 SHIFT 键,请使用 "+(EC)"。为了说明在按下 E 的时候同时按下 SHIFT 键,但接着按 C 而不按 SHIFT,则使用 "+EC"。
(6)为了指定重复键,使用 {key number} 的形式。必须在 key 与 number 之间放置一个空格。例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 键;{h 10} 则是指 10 次按下 H 键。
注意:
  1. 1.
    SendKeys 不能将按键消息发送到这样一个应用程序——这个应用程序并没有被设计成在 Microsoft Windows 中运行。
  2. 2.
    Sendkeys 也无法将PRINT SCREEN 按键发送到任何应用程序。

示例

播报
编辑
set WshShell = WScript.CreateObject("WScript.Shell") '调用
WScript.Sleep 100 '延时0.1秒
WshShell.SendKeys "ABCD" '顺序发送ABCD四个键
初学者实例:
Private Sub Command1_Click() ‘command1的单击(click)事件过程 SendKeys("{ENTER}") '发送回车键 End Sub ’事件结束