【BAT】VBS中 “SendKeys” 作用

【BAT】VBS中 “SendKeys” 作用

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

语法

SendKeys string[, wait]

参数意义

  • string部分必需的,字符串表达式,指定要发送的按键消息。

  • 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 键。

注意:
SendKeys 不能将按键消息发送到这样一个应用程序——这个应用程序并没有被设计成在 Microsoft Windows 中运行。
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 ’事件结束
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值