向激活窗口发送模拟键击操作。
Send ( "按键" [, 标志] )
参数
按键 | 要发送的按键序列。 |
标志 | [可选参数] 更改程序处理“按键”的方式: 标志 = 0 (默认),按键序列中含有的特殊字符比如 + 和 ! 将被视为 SHIFT 和 ALT 键。 标志 = 1,按键将按原样发送。 |
返回值
无
注意
关于使用 Send 函数的更多说明/技巧请查看 附录。AutoIt 可发送所有的 ASCII 码及扩展 ASCII 码字符(0-255),若要发送 UNICODE 编码的字符则必须使用“ASC”选项加上您要发送的字符代码(见下面的 {ASC})。Send 命令(无标志参数) | 键击结果 |
{!} | ! |
{#} | # |
{+} | + |
{^} | ^ |
{{} | { |
{}} | } |
{SPACE} | 空格 |
{ENTER} | 主键盘区的 回车键 |
{ALT} | ALT |
{BACKSPACE} 或 {BS} | 退格 |
{DELETE} 或 {DEL} | 删除(DELETE) |
{UP} | 向上箭头 |
{DOWN} | 向下箭头 |
{LEFT} | 向左箭头 |
{RIGHT} | 向右箭头 |
{HOME} | HOME |
{END} | END |
{ESCAPE} 或 {ESC} | ESC键 |
{INSERT} 或 {INS} | INS(Insert) |
{PGUP} | PageUp |
{PGDN} | PageDown |
{F1} - {F12} | 功能键 |
{TAB} | TAB |
{PRINTSCREEN} | Print Screen key |
{LWIN} | 左徽标键 |
{RWIN} | 右徽标键 |
{NUMLOCK on} | NUMLOCK (on/off/toggle)(开/关/切换) |
{CAPSLOCK off} | CAPSLOCK (on/off/toggle)(开/关/切换) |
{SCROLLLOCK toggle} | SCROLLLOCK (on/off/toggle)(开/关/切换) |
{CTRLBREAK} | Ctrl+Break |
{PAUSE} | PAUSE |
{NUMPAD0} - {NUMPAD9} | 数字键盘上的 数字键 |
{NUMPADMULT} | 数字键盘上的 乘号 |
{NUMPADADD} | 数字键盘上的 加号 |
{NUMPADSUB} | 数字键盘上的 减号 |
{NUMPADDIV} | 数字键盘上的 除号 |
{NUMPADDOT} | 数字键盘上的 点号 |
{NUMPADENTER} | 数字键盘上的 回车键 |
{APPSKEY} | Windows 应用程序键 |
{LALT} | 左 ALT 键 |
{RALT} | 右 ALT 键 |
{LCTRL} | 左 CTRL 键 |
{RCTRL} | 右 CTRL 键 |
{LSHIFT} | 左 Shift 键 |
{RSHIFT} | 右 Shift 键 |
{SLEEP} | 系统休眠(SLEEP)键 |
{ALTDOWN} | 按住 ALT 键直到发送 {ALTUP} 为止 |
{SHIFTDOWN} | 按住 SHIFT 键直到发送 {SHIFTUP} 为止 |
{CTRLDOWN} | 按住 CTRL 键直到发送 {CTRLUP} 为止 |
{LWINDOWN} | 按住左徽标键直到发送 {LWINUP} 为止 |
{RWINDOWN} | 按住右徽标键直到发送 {RWINUP} 为止 |
{ASC nnnn} | 发送 ALT+nnnn 组合键 |
{BROWSER_BACK} | 仅支持2000/XP:按下浏览器中的“后退”按钮 |
{BROWSER_FORWARD} | 仅支持2000/XP:按下浏览器中的“前进”按钮 |
{BROWSER_REFRESH} | 仅支持2000/XP:按下浏览器中的“刷新”按钮 |
{BROWSER_STOP} | 仅支持2000/XP:按下浏览器中的“停止”按钮 |
{BROWSER_SEARCH} | 仅支持2000/XP:按下浏览器中的“搜索”按钮 |
{BROWSER_FAVORITES} | 仅支持2000/XP:按下浏览器中的“收藏夹”按钮 |
{BROWSER_HOME} | 仅支持2000/XP:运行浏览器并转到主页 |
{VOLUME_MUTE} | 仅支持2000/XP:切换系统静音状态 |
{VOLUME_DOWN} | 仅支持2000/XP:减小系统音量 |
{VOLUME_UP} | 仅支持2000/XP:增大系统音量 |
{MEDIA_NEXT} | 仅支持2000/XP:在播放器中选择播放下一个轨道(影音媒体) |
{MEDIA_PREV} | 仅支持2000/XP:在播放器中选择播放上一个轨道 |
{MEDIA_STOP} | 仅支持2000/XP:使播放器停止播放 |
{MEDIA_PLAY_PAUSE} | 仅支持2000/XP:使播放器播放/暂停 |
{LAUNCH_MAIL} | 仅支持2000/XP:运行邮件客户端程序 |
{LAUNCH_MEDIA} | 仅支持2000/XP:运行播放器(Media player) |
{LAUNCH_APP1} | 仅支持2000/XP:运行用户程序1(我的电脑) |
{LAUNCH_APP2} | 仅支持2000/XP:运行用户程序2(计算器) |
如果要发送 UNICODE 字符则输入该字符代码,例如下例将发送一个中文字符
Send("{ASC 2709}")
可参考下例重复发送某按键:
Send("{DEL 4}") ;连续4次按下 DEL 键
Send("{S 30}") ;发送30个字符“S”
Send("+{TAB 4}) ;连续4次按下 SHIFT+TAB
如果要按住(保持按下状态)某个按键(通常用于游戏中)
Send("{a down}") ;按住按键 A
Send("{a up}") ;松开按键 A
如果要改变 capslock、numlock 和 scrolllock 键的状态,可参考下例:
Send("{NumLock on}") ;打开 NumLock
Send("{CapsLock off}") ;关闭 CapsLock
Send("{ScrollLock toggle}") ;切换 ScrollLock 的状态
如果要用变量来指定重复发送的次数,参考下例:
$n = 4
Send("+{TAB " & $n & "}")
如果要用变量来指定要重复发送的 ASCII 字符(比如 A),参考下例:
$x = Chr(65)
Send("{" & $x & " 4}")
大多数笔记本电脑的键盘上都会有一个特殊的 Fn 键,此键无法被模拟。
注意,若把标志参数的值设为1则“按键”参数将被原样发送。如果某些文本是从变量里拷贝而来,而您又希望完全按原样发送这些文本的话,就应该使用这一设置。
例如,先打开 文件夹选项窗口(位于控制面板),然后请尝试执行下面这些语句:
Send("{TAB}") | 切换到(焦点切换)下一个控件(按钮、复选框等) |
Send("+{TAB}") | 切换到上一个控件 |
Send("^{TAB}") | 切换到下一个窗口标签 |
Send("^+{TAB}") | 切换到上一个窗口标签 |
Send("{SPACE}") | 可用来切换复选框的选中状态或点击某个按钮 |
Send("{+}") | 通常用来选中某个复选框(如果它“确实是”复选框的话) |
Send("{-}") | 通常用来取消选中某个复选框 |
Send("{NumPadMult}") | 完全展开 SysTreeView32 控件内显示的文件夹 |
Send("{DOWN}") | 移动焦点到下一个菜单项 |
Send("{UP}") | 移动焦点到上一个菜单项 |
Send("{LEFT}") | 切换到左边的菜单或收缩子菜单 |
Send("{RIGHT}") | 切换到右边的菜单或展开子菜单 |
相关
SendAttachmode(选项), SendKeyDelay(选项), SendKeyDownDelay(选项), ControlSend
示例
Send("#r")
WinWaitActive("运行")
Send("notepad.exe{Enter}")
WinWaitActive("无标题 - ")
Send("现在的时间/日期是 {F5}") ;Send函数无法发送中文字符,这里仅为方便理解