键盘输入技巧

键盘输入可发送所有的 ASCII 码及扩展 ASCII 码字符 (0-255), 若要发送 UNICODE 编码的字符则必须使用 "ASC" 选项加上您要发送的字符代码 (见下面的 {ASC}).

键盘输入的语法跟 ScriptIt 以及 Visual Basic 的 “SendKeys” 命令类似. 字符序列将按原文发送, 但下列字符除外:

'!'
表示告知 键盘输入要发送一个 ALT 键击动作, 因此语句 “This is text!a"的意思是按序发送按键 “This is text” 然后在按下"ALT+a”.

有些程序对大小写字符和 ALT 键相当挑剔, 举例来说,“!A” 可能会被认为不同于 “!a”; 第一个代表 ALT+SHIFT+A, 而第二个则代表 ALT+a. 如果拿不准的话最好使用小写!

'+'
表示告知 键盘输入要发送一个 SHIFT 键击动作, 因此语句 “Hell+o"的意思是按序发送按键 “HellO”.”!+a" 表示发送 “ALT+SHIFT+a”.

'^'
表示告知 键盘输入 要发送一个 CONTROL 键击动作, 因此语句 "^!a" 的意思是发送按键 “CTRL+ALT+a”.

有些程序对大小写字符和 CTRL 键相当挑剔, 举例来说, “^A” 可能会被认为不同于 “^a”; 第一个代表 CTRL+SHIFT+A, 而第二个则代表 CTRL+a. 如果拿不准的话最好使用小写!

'#'
井号将发送一个 Windows 徽标键, 因此语句 "#r" 将发送 Win+r, 这将打开“运行”对话框.

您可以通过设置 SendCapslockMode 从而在 键盘输入开始操作前关闭大小写切换键 (大写锁,CAPS LOCK) 并在完成操作后恢复.
但是, 如果在 键盘输入开始执行的时候用户就按住 Shift 键, 那么发送的文本可能会是小写字符.
一个解决办法是在每次执行其它 键盘输入 操作前使用语句 “{SHIFTDOWN}{SHIFTUP}”

某些键盘 (如捷克语) 发送按下 SHIFT 键时或者 CAP LOCK(大写锁定)开启时发送不同的字符 (大小写时) 可能不工作. 因为键盘输入在 CAPS LOCK(大写锁定)开启时发送小写字符得到的却是大写(这是常识):
某些特殊组合键不能被正确发送:

例如: Windows 不允许模拟 “CTRL-ALT-DEL” 组合键

键盘输入 键击结果
{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{SPACE} 空格
{ENTER} 主键盘区的 回车键
{ALT} ALT
{BACKSPACE} / {BS} 退格
{DELETE} / {DEL} 删除
{UP} 向上箭头
{DOWN} 向下箭头
{LEFT} 向左箭头
{RIGHT} 向右箭头
{HOME} HOME
{END} END
{ESCAPE} / {ESC} ESC 键
{INSERT} / {INS} INS
{PGUP} PageUp
{PGDN} PageDown
{F1} - {F12} 功能键
{TAB} TAB
{PRINTSCREEN} Print Screen 键
{LWIN} 左徽标键
{RWIN} 右徽标键
{NUMLOCK on} NUMLOCK (on/off/toggle)
{CAPSLOCK off} CAPSLOCK (on/off/toggle)
{SCROLLLOCK toggle} SCROLLLOCK (on/off/toggle)
{BREAK} 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: 运行媒体播放器
{LAUNCH_APP1} 仅支持 2000/XP: 运行用户程序 1
{LAUNCH_APP2} 仅支持 2000/XP: 运行用户程序 2

如果要发送 ASCII 字符 A 则参考下例 (相当于 ALT+065, 按住 ALT 键并在数字键盘上顺序按下 065)
    "{ASC 065}"

(在使用两位数的 ASCII 码时必须在前面加一个 0, 否则将使用 437 号代码页).

如果要发送 UNICODE 字符则输入该字符代码, 例如下例将发送一个中文字符
    "{ASC 2709}") 或者 "{ASC 0xA95}"

可参考下例重复发送某按键.

    "{DEL 4}"  #连续4次按下 DEL 键
    "{S 30}" #发送30个字符"S"
    "+{TAB 4}"  #连续4次按下 SHIFT+TAB

如果要按住 (保持按下状态) 某个按键

    "{a down}"  #按住按键 A
    "{a up}" #松开按键 A

如果要改变 capslock,numlock 和 scrolllock 键的状态, 可参考下例:

    "{NumLock on}" #打开 NumLock
    "{CapsLock off}" #关闭 CapsLock
    "{ScrollLock toggle}" #切换 ScrollLock 的状态

大多数笔记本电脑的键盘上都会有一个特殊的 Fn 键, 此键无法被模拟.

例如, 先打开 文件夹选项窗口 (位于控制面板), 然后请尝试执行下面这些语句:

“{TAB}” 切换到 (焦点切换) 下一个控件(按钮、复选框等)
“+{TAB}” 切换到上一个控件.
“^{TAB}” 切换到下一个窗口标签
“^+{TAB}” 切换到上一个窗口标签.
“{SPACE}” 可用来切换复选框的选中状态或点击某个按钮.
“{+}” 通常用来选中某个复选框 (如果它 "确实是" 复选框的话)
“{-}” 通常用来取消选中某个复选框.
“{NumPadMult}” 完全展开 SysTreeView32 控件内显示的文件夹.

组合 Alt 键使用可访问菜单项, 请打开记事本窗口然后尝试执行下面这些语句: 
"!f" 表示发送 Alt+f, 这是打开记事本的文件菜单的快捷键, 您还可以试试其它的!

“{DOWN}” 移动焦点到下一个菜单项.
“{UP}” 移动焦点到上一个菜单项.
“{LEFT}” 切换到左边的菜单或收缩子菜单.
(“{RIGHT}” 切换到右边的菜单或展开子菜单.

如果您对快捷键 (Alt+F4,PrintScreen,Ctrl+C 等等) 的重要性还不太了解, 请查看 Windows 的帮助信息(按下热键 Win+F1 即可) 以获得关于快捷键的完整列表.