跳到主要内容

等待按键

等到用户按下指定键,或等到全部键盘键抬起。常用来等用户做完一件事再继续,或用按键在几个选项里选一个。

当前模块定义

sys:waitKeyboard界面组件Action
风险操作
输入 12 · 输出 4 · 枚举 2

输入参数

  • 操作类型operationEnum必填
    填写 固定输入默认 waitKeyDown
    等待按下默认waitKeyDown
    等待所有按键抬起waitAllKeyUp
  • 等待的按键waitingKeysText可选

    可选,留空表示任意键盘按键。格式请参考文档。

    填写 固定输入
  • 修饰键modifierKeysText可选

    可选。逗号分隔的ctrl,shift,alt,win组合。仅用于等待组合快捷键。修饰键不会被拦截。

    填写 固定输入
  • 最长等待秒数maxWaitSecondsNumber必填

    0为永久超时超过等待时间,则结束等待。

    填写 固定输入默认 0
  • 拦截原始按键事件filterEventBoolean可选

    避免按键输入到窗口中 (仅对键盘按键有效)

    填写 固定输入默认 true
  • 等待按键抬起waitKeyUpBoolean可选

    等待按键抬起后再返回 (仅对键盘按键有效)

    填写 固定输入默认 false
  • 忽略模拟的按键ignoreSimulatedBoolean可选

    是否忽略(不检测)模拟的按键消息

    填写 固定输入默认 false
  • 提示信息helpText可选

    等待按键时显示的提示文字

    填写 输入或变量默认 请按键...
  • 字体名称fontfamilyText可选

    可选。设置字体名称。如有多个字体,使用逗号分隔。

    填写 输入或变量
  • 提示窗口位置winLocationEnum可选

    在哪里显示提示窗口

    填写 输入或变量默认 TopCenter
    9 个选项屏幕中间、屏幕左上、屏幕中上
    屏幕中间CenterScreen
    屏幕左上TopLeft
    屏幕中上默认TopCenter
    屏幕右上TopRight
    屏幕左中LeftCenter
    屏幕右中RightCenter
    屏幕左下BottomLeft
    屏幕中下BottomCenter
    屏幕右下BottomRight
  • 鼠标穿透mouseThroughBoolean可选

    鼠标是否可以穿透提示窗口点击下面的内容

    填写 固定输入默认 true
  • 失败后停止动作stopIfFailBoolean可选

    失败后是否停止动作

    填写 固定输入默认 true

输出参数

  • 步骤执行是否成功isSuccessBoolean

    步骤执行是否成功

  • 键名keyCodeText

    按键名,具体请参考模块文档。

  • 键值keyValueInteger

    按键数值,具体请参考模块文档。

  • 按下保持时间holdTimeMsInteger

    按下保持时间,单位毫秒。仅支持键盘按键。

概述

两种操作:

  • 等待按下:等某个键盘或鼠标键(鼠标键 1.5.3+,不能拦截)。
  • 等待所有按键抬起:等全部物理键盘键抬起(不含模拟键、不含鼠标)。常用来等 Ctrl / Shift / Alt 松开,避免叠到后面的模拟按键上。

等待按键

等待用户按下某个按键
操作类型
等待的按键
 
可选,留空表示任意键盘按键。格式请参考文档。
修饰键
 
可选。逗号分隔的ctrl,shift,alt,win组合。仅用于等待组合快捷键。修饰键不会被拦截。
最长等待秒数
0
0为永久超时超过等待时间,则结束等待。
提示信息
请按键...
等待按键时显示的提示文字
字体名称
 
可选。设置字体名称。如有多个字体,使用逗号分隔。
提示窗口位置
在哪里显示提示窗口
步骤执行是否成功
-- 选择变量 --
步骤执行是否成功
键名
-- 选择变量 --
按键名,具体请参考模块文档。
键值
-- 选择变量 --
按键数值,具体请参考模块文档。
按下保持时间
-- 选择变量 --
按下保持时间,单位毫秒。仅支持键盘按键。

参数说明

操作类型:「等待按下」或「等待所有按键抬起」。

等待的按键:可指定多个。等组合键时只写非修饰键(Ctrl+SS)。留空表示任意键盘键(不含鼠标)。多个键用英文逗号分隔,可以是键名或键值(见文末表)。

  • LMenu,RMenu:左或右 Alt
  • 112,113:F1 或 F2
  • LButton,A:鼠标左键或 A
  • wheel:垂直滚轮(1.28.5+)

ControlKey / ControlShiftKey / ShiftMenu(Alt)会同时等左右两侧,输出的是实际按下的那一侧(如 LControlKey)。

修饰键:仅组合快捷键。英文逗号分隔的 ctrl,shift,alt,winCtrl+Shift+Sctrl,shift

最长等待秒数:超时则「步骤执行是否成功」为 False;「键名」「键值」是超时前最后一次按键,没按过则是 None00 表示一直等。

拦截原始按键事件:拦截后按键不会进其它软件。只对键盘有效;组合键里的 Ctrl / Shift / Alt / Win 不会被拦截。鼠标键不能拦截。

等待按键抬起:按下后再等抬起,并输出保持时间。仅键盘。1.40.23+。

忽略模拟的按键:忽略动作或其它软件模拟的按键,只等物理键。

提示信息:屏幕上半透明提示。

字体名称:提示文字字体,多个用逗号分隔。

提示窗口位置:半透明提示出现的位置。

鼠标穿透:鼠标能否点穿提示窗点到下面。默认开启。

失败后停止动作:超时或失败后是否中止。默认开启。

输出

输出的是实际按键。等 ControlKey 时,按下左侧就得到 LControlKey

  • 步骤执行是否成功:是否等到了目标按键(或全部抬起)。
  • 键名:见文末表或 Keys 枚举
  • 键值:数字。可用下面的示例动作查看。
  • 按下保持时间:开启「等待按键抬起」后,键盘按下的毫秒数。1.40.23+。

等待所有按键抬起

等待按键

等待用户按下某个按键
操作类型
最长等待秒数
20
0为永久超时超过等待时间,则结束等待。
步骤执行是否成功
-- 选择变量 --
步骤执行是否成功

示例动作

示例:显示键值
重复重复-1次,循环间隔: ms,中止条件: $${keyValue} == 27
等待按键
提示消息$${keyName} --- {keyValue}

键值对照表

System.Windows.Forms.Keys:

键名键值说明
A65A 键。
Add107加号键。
Alt262144Alt 修改键。
Apps93应用程序键(Microsoft Natural Keyboard,人体工程学键盘)。
Attn246ATTN 键。
B66B 键。
Back8BACKSPACE 键。
BrowserBack166浏览器后退键(Windows 2000 或更高版本)。
BrowserFavorites171浏览器收藏夹键(Windows 2000 或更高版本)。
BrowserForward167浏览器前进键(Windows 2000 或更高版本)。
BrowserHome172浏览器主页键(Windows 2000 或更高版本)。
BrowserRefresh168浏览器刷新键(Windows 2000 或更高版本)。
BrowserSearch170浏览器搜索键(Windows 2000 或更高版本)。
BrowserStop169浏览器停止键(Windows 2000 或更高版本)。
C67C 键。
Cancel3Cancel 键。
Capital20CAPS LOCK 键。
CapsLock20CAPS LOCK 键。
Clear12CLEAR 键。
Control131072Ctrl 修改键。
ControlKey17CTRL 键。
Crsel247CRSEL 键。
D68D 键。
D0480 键。
D1491 键。
D2502 键。
D3513 键。
D4524 键。
D5535 键。
D6546 键。
D7557 键。
D8568 键。
D9579 键。
Decimal110句点键。
Delete46DEL 键。
Divide111除号键。
Down40DOWN ARROW 键。
E69E 键。
End35END 键。
Enter13ENTER 键。
EraseEof249ERASE EOF 键。
Escape27ESC 键。
Execute43EXECUTE 键。
Exsel248EXSEL 键。
F70F 键。
F1112F1 键。
F10121F10 键。
F11122F11 键。
F12123F12 键。
F13124F13 键。
F14125F14 键。
F15126F15 键。
F16127F16 键。
F17128F17 键。
F18129F18 键。
F19130F19 键。
F2113F2 键。
F20131F20 键。
F21132F21 键。
F22133F22 键。
F23134F23 键。
F24135F24 键。
F3114F3 键。
F4115F4 键。
F5116F5 键。
F6117F6 键。
F7118F7 键。
F8119F8 键。
F9120F9 键。
FinalMode24IME 最终模式键。
G71G 键。
H72H 键。
HanguelMode21IME Hanguel 模式键。 (为了保持兼容性而设置;使用 HangulMode
HangulMode21IME Hangul 模式键。
HanjaMode25IME Hanja 模式键。
Help47HELP 键。
Home36HOME 键。
I73I 键。
IMEAccept30IME 接受键,替换 IMEAceept
IMEAceept30IME 接受键。 已过时,请改用 IMEAccept
IMEConvert28IME 转换键。
IMEModeChange31IME 模式更改键。
IMENonconvert29IME 非转换键。
Insert45INS 键。
J74J 键。
JunjaMode23IME Junja 模式键。
K75K 键。
KanaMode21IME Kana 模式键。
KanjiMode25IME Kanji 模式键。
KeyCode65535从键值提取键代码的位屏蔽。
L76L 键。
LaunchApplication1182启动应用程序一键(Windows 2000 或更高版本)。
LaunchApplication2183启动应用程序二键(Windows 2000 或更高版本)。
LaunchMail180启动邮件键(Windows 2000 或更高版本)。
LButton1鼠标左按钮。
LControlKey162左 CTRL 键。
Left37LEFT ARROW 键。
LineFeed10LINEFEED 键。
LMenu164左 ALT 键。
LShiftKey160左 Shift 键。
LWin91左 Windows 徽标键 (Microsoft Natural Keyboard)。
M77M 键。
MButton4鼠标中按钮(三个按钮的鼠标)。
MediaNextTrack176媒体下一曲目键(Windows 2000 或更高版本)。
MediaPlayPause179媒体播放暂停键(Windows 2000 或更高版本)。
MediaPreviousTrack177媒体上一曲目键(Windows 2000 或更高版本)。
MediaStop178媒体停止键(Windows 2000 或更高版本)。
Menu18Alt 键。
Multiply106乘号键。
N78N 键。
Next34PAGE DOWN 键。
NoName252留待将来使用的常数。
None0不按任何键。
NumLock144NUM LOCK 键。
NumPad096数字键盘上的 0 键。
NumPad197数字键盘上的 1 键。
NumPad298数字键盘上的 2 键。
NumPad399数字键盘上的 3 键。
NumPad4100数字键盘上的 4 键。
NumPad5101数字键盘上的 5 键。
NumPad6102数字键盘上的 6 键。
NumPad7103数字键盘上的 7 键。
NumPad8104数字键盘上的 8 键。
NumPad9105数字键盘上的 9 键。
O79O 键。
Oem1186OEM 1 键。
Oem102226OEM 102 键。
Oem2191OEM 2 键。
Oem3192OEM 3 键。
Oem4219OEM 4 键。
Oem5220OEM 5 键。
Oem6221OEM 6 键。
Oem7222OEM 7 键。
Oem8223OEM 8 键。
OemBackslash226RT 102 键的键盘上的 OEM 尖括号或反斜杠键(Windows 2000 或更高版本)。
OemClear254CLEAR 键。
OemCloseBrackets221美式标准键盘上的 OEM 右括号键(Windows 2000 或更高版本)。
Oemcomma188任何国家/地区键盘上的 OEM 逗号键(Windows 2000 或更高版本)。
OemMinus189任何国家/地区键盘上的 OEM 减号键(Windows 2000 或更高版本)。
OemOpenBrackets219美式标准键盘上的 OEM 左括号键(Windows 2000 或更高版本)。
OemPeriod190任何国家/地区键盘上的 OEM 句点键(Windows 2000 或更高版本)。
OemPipe220美式标准键盘上的 OEM 管道键(Windows 2000 或更高版本)。
Oemplus187任何国家/地区键盘上的 OEM 加号键(Windows 2000 或更高版本)。
OemQuestion191美式标准键盘上的 OEM 问号键(Windows 2000 或更高版本)。
OemQuotes222美式标准键盘上的 OEM 单/双引号键(Windows 2000 或更高版本)。
OemSemicolon186美式标准键盘上的 OEM 分号键(Windows 2000 或更高版本)。
Oemtilde192美式标准键盘上的 OEM 波形符键(Windows 2000 或更高版本)。
P80P 键。
Pa1253PA1 键。
Packet231用于将 Unicode 字符当作键击传递。 Packet 键值是用于非键盘输入法的 32 位虚拟键值的低位字。
PageDown34PAGE DOWN 键。
PageUp33PAGE UP 键。
Pause19PAUSE 键。
Play250播放键。
Print42PRINT 键。
PrintScreen44PRINT SCREEN 键。
Prior33PAGE UP 键。
ProcessKey229Process Key 键。
Q81Q 键。
R82R 键。
RButton2鼠标右按钮。
RControlKey163右 CTRL 键。
Return13Return 键。
Right39RIGHT ARROW 键。
RMenu165右 ALT 键。
RShiftKey161右 Shift 键。
RWin92右 Windows 徽标键 (Microsoft Natural Keyboard)。
S83S 键。
Scroll145Scroll Lock 键。
Select41SELECT 键。
SelectMedia181选择媒体键(Windows 2000 或更高版本)。
Separator108分隔符键。
Shift65536Shift 修改键。
ShiftKey16Shift 键。
Sleep95计算机睡眠键。
Snapshot44PRINT SCREEN 键。
Space32SPACEBAR 键。
Subtract109减号键。
T84T 键。
Tab9TAB 键。
U85U 键。
Up38UP ARROW 键。
V86V 键。
VolumeDown174减小音量键(Windows 2000 或更高版本)。
VolumeMute173静音键(Windows 2000 或更高版本)。
VolumeUp175增大音量键(Windows 2000 或更高版本)。
W87W 键。
X88X 键。
XButton15第一个 X 鼠标按钮(五个按钮的鼠标)。
XButton26第二个 X 鼠标按钮(五个按钮的鼠标)。
Y89Y 键。
Z90Z 键。
Zoom251缩放键。

相关链接

更新历史

  • 1.1.33 起提供。
  • 1.2.11 增加「等待的按键」。
  • 1.5.3 支持鼠标按键(LButton / MButton / RButton / XButton1 / XButton2);增加是否拦截原始按键。
  • 20241023 去除失效链接。

更新于