模拟按键B(参数)
用文本向当前窗口发送按键序列。内容可以来自变量或插值,适合动态组合。固定快捷键用模拟按键A(录入)。
当前模块定义
sys:sendKeys输入 1 · 输出 0
输入参数
- 按键序列
keysText可选要发送的按键序列,使用C#语言SendKeys.Send()语法,具体请参考教程文档。
概述
把一段 SendKeys 字符串发给前台窗口。和 A 的差别:
- A(录入):在步骤里录制或点选一组固定按键。
- B(参数):按键写在文本里,可以
{变量}插值,也可以和其他步骤拼出不同序列。
内部使用 .NET 的 SendKeys.SendWait(Quicker 做了兼容处理)。语法与 Microsoft 文档 一致。
模拟按键B(参数)
发送按键和文本
模拟按键B(参数)Ctrl+C
参数说明
按键序列:要发送的字符串。留空则不发送。软件里可点参数右侧工具从键盘选择;文档预览是普通文本框。
模拟按键B(参数)
发送按键和文本
语法
要点
| 写法 | 含义 |
|---|---|
^ | Ctrl |
+ | Shift |
% | Alt |
| 普通字母、数字 | 用小写,如 ^c 表示 Ctrl+C |
{键名} | 特殊键,见下表 |
{键名 次数} | 重复。键名和次数之间有一个空格,如 {LEFT 10} |
不支持 Win 键,以及 F17–F24、媒体键等。
普通字符与转义
普通字符按原样发送:a 发 a,abc 发三个字符。
这些字符有特殊含义,要发字面量时必须包在大括号里:+ ^ % ~ ( ) 分别写成 {+} {^} {%} {~} {(} {)}。[ ] 本身无特殊含义,但仍要写成 {[} {]}。字面量的大括号写成 {{} 和 {}}。
特殊键
| 按键 | 代码 |
|---|---|
| Win | 底层 API 不支持 |
| Backspace | {BACKSPACE}、{BS} 或 {BKSP} |
| Break | {BREAK} |
| Caps Lock | {CAPSLOCK} |
| Delete | {DELETE} 或 {DEL} |
| ↓ | {DOWN} |
| End | {END} |
| Enter | {ENTER} 或 ~ |
| Esc | {ESC} |
| Help | {HELP} |
| Home | {HOME} |
| Insert | {INSERT} 或 {INS} |
| ← | {LEFT} |
| Num Lock | {NUMLOCK} |
| Page Down | {PGDN} |
| Page Up | {PGUP} |
| Print Screen | {PRTSC}(预留,通常无效) |
| → | {RIGHT} |
| Scroll Lock | {SCROLLLOCK} |
| Tab | {TAB} |
| ↑ | {UP} |
| F1–F16 | {F1} … {F16} |
| 小键盘 + − × ÷ | {ADD} {SUBTRACT} {MULTIPLY} {DIVIDE} |
组合与分组
要在按住 Shift / Ctrl / Alt 的同时按其他键,把修饰符写在前面:
| 代码 | 含义 |
|---|---|
^c | Ctrl+C |
+p | Shift+P |
%p | Alt+P |
^+s | Ctrl+Shift+S |
+(ec) | 按住 Shift,依次按 E、C |
^(kc) | 按住 Ctrl,依次按 K、C |
^kc | 先 Ctrl+K,松开后再按 C |
大小写可能影响结果(^s 和 ^S 不一定一样)。改完后请在目标软件里实测。
示例
| 代码 | 效果 |
|---|---|
^p | Ctrl+P |
Hello~New Line | 输入 Hello,回车,再输入 New Line |
中文字符 | 按字符发送中文(更易受输入法影响) |
{LEFT 10} | ← 十次 |
{h 10} | H 十次 |
限制与排障
- 可能受输入法影响。效果不对时,先切到英文,或在前面加输入法状态切到英文。
- 发送前确保目标窗口已就绪;必要时在前后加等待时间。
- 不支持鼠标按键,也不支持 Win 键。
- 语法无效时步骤失败,提示「发送按键出错。」加具体原因。
- 需要不受输入法影响的纯文本,用多步骤输入的
input:。 - 只要一组固定快捷键,用模拟按键A(录入)。
- 要单独按下或抬起某个键,用按键操作。
相关链接
更新于