等待按键

因软件更新较快,部分文档内容与软件最新版本有所出入,请知悉。

支持的操作类型:

  • 等待按下:等待某个键盘或鼠标按键按下;
  • 等待所有按键抬起:等待所有键盘按键抬起;

等待按下

等待用户按下指定的键盘或鼠标按键。

鼠标键自1.5.3版本开始支持(鼠标键不支持拦截)。


典型用途:

  • 等待用户完成指定的操作后按键继续执行动作;
  • 从多个选项中使用按键选择一个;


参数

【等待的按键】等待的键盘或鼠标按键,可以指定多个。在等待组合快捷键时,用于指定按键组合中的非修饰键部分(如Ctrl+S组合,等待的按键为S)。

  • 如果不指定,将会在按下任意键盘键时完成等待。此时不等待鼠标按键。
  • 如果指定,则会在按下设定的鼠标或键盘键时完成等待。可以指定多个要等待的按键,其格式为:使用小写逗号分隔的多个键名或键值(System.Windows.Forms.Keys枚举值中的名字或数字值,请参见本文后面的表

示例:

    • LMenu,RMenu   (等待左或右Alt键)
    • 112,113    (等待F1或F2)
    • LButton,A  (等到鼠标左键或A键)
    • 特别的,可以用wheel表示等待鼠标垂直滚轮(1.28.5+版本)


对于控制键ControlKey/Control、ShiftKey/Shift、Menu(alt),会自动等待对应的左右两侧的按键。返回的键值是实际按下的左侧或右侧按键对应的值(如LControlKey/RControlKey等)


【修饰键】仅用于等待组合快捷键。内容为使用英文半角逗号分隔的ctrl,shift,alt,win组合。如Ctrl+Shift+S组合,修饰键为ctrl,shift


【最长等待秒数】最长等待时间。如果该时间内没有按下要等待的按键则,则“是否成功”返回False,“键名”“键值”返回等待时间内最后按下的键的键名和键值,如果没有按任何键,则返回None0


【拦截原始按键事件】如果拦截,则等待的按键不会发送到其他软件中变成字母输入。如果不拦截,则类似于普通键盘敲击的效果。仅对键盘按键有效。在等待组合按键时,不会拦截Ctrl/Shift/Alt/Win等修饰键。

【等待按键抬起】对于键盘按键,可以在按下按键后继续等待该按键抬起。此时可以输出按下的保持时间。(v1.40.23+)

【忽略模拟的按键】是否忽略通过动作或其它软件模拟生成的按键消息。(仅等待物理键盘按键)


【提示信息】 在屏幕顶端使用透明窗口显示给用户的提示文字。

【提示窗口位置】半透明提示窗口的显示位置。

【鼠标穿透】半透明提示窗口是否允许鼠标穿透(从而避免影响点击提示窗下面的内容)。


输出

注:输出的是实际按键的值,比如等待的是ControlKey,根据按下的键,实际输出的是LControlKey或RControlKey。

【键名】(KeyCode)按键的名称。参见下表或:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.keys?view=netframework-4.8

【键值】(Keyvalue)按键的数字值。可以用示例动作检测按键的键值。

【按下保持时间】开启“等待按键抬起”选项后,对键盘按键,可以输出按下的保持时间(用以区分短按和长按等场景使用)。(v1.40.23+)


参考动作



等待所有按键抬起

等待所有键盘物理按键抬起(不支持模拟按键状态,不支持鼠标键)。

通常用于等待ctrl/shift/alt等按键抬起,避免其对后续模拟的按键产生叠加效果。


更改历史

  • 从1.1.33版本开始提供。
  • 1.2.11 增加“等待的按键”参数。
  • 1.5.3 增加支持鼠标按键(LButton/MButton/RButton/XButton1/XButton2);增加是否拦截原始按键消息的选项。


参考

System.Windows.Forms.Keys 键值对照表

键名

键值

说明

A

65

A 键。

Add

107

加号键。

Alt

262144

Alt 修改键。

Apps

93

应用程序键(Microsoft Natural Keyboard,人体工程学键盘)。

Attn

246

ATTN 键。

B

66

B 键。

Back

8

BACKSPACE 键。

BrowserBack

166

浏览器后退键(Windows 2000 或更高版本)。

BrowserFavorites

171

浏览器收藏夹键(Windows 2000 或更高版本)。

BrowserForward

167

浏览器前进键(Windows 2000 或更高版本)。

BrowserHome

172

浏览器主页键(Windows 2000 或更高版本)。

BrowserRefresh

168

浏览器刷新键(Windows 2000 或更高版本)。

BrowserSearch

170

浏览器搜索键(Windows 2000 或更高版本)。

BrowserStop

169

浏览器停止键(Windows 2000 或更高版本)。

C

67

C 键。

Cancel

3

Cancel 键。

Capital

20

CAPS LOCK 键。

CapsLock

20

CAPS LOCK 键。

Clear

12

CLEAR 键。

Control

131072

Ctrl 修改键。

ControlKey

17

CTRL 键。

Crsel

247

CRSEL 键。

D

68

D 键。

D0

48

0 键。

D1

49

1 键。

D2

50

2 键。

D3

51

3 键。

D4

52

4 键。

D5

53

5 键。

D6

54

6 键。

D7

55

7 键。

D8

56

8 键。

D9

57

9 键。

Decimal

110

句点键。

Delete

46

DEL 键。

Divide

111

除号键。

Down

40

DOWN ARROW 键。

E

69

E 键。

End

35

END 键。

Enter

13

ENTER 键。

EraseEof

249

ERASE EOF 键。

Escape

27

ESC 键。

Execute

43

EXECUTE 键。

Exsel

248

EXSEL 键。

F

70

F 键。

F1

112

F1 键。

F10

121

F10 键。

F11

122

F11 键。

F12

123

F12 键。

F13

124

F13 键。

F14

125

F14 键。

F15

126

F15 键。

F16

127

F16 键。

F17

128

F17 键。

F18

129

F18 键。

F19

130

F19 键。

F2

113

F2 键。

F20

131

F20 键。

F21

132

F21 键。

F22

133

F22 键。

F23

134

F23 键。

F24

135

F24 键。

F3

114

F3 键。

F4

115

F4 键。

F5

116

F5 键。

F6

117

F6 键。

F7

118

F7 键。

F8

119

F8 键。

F9

120

F9 键。

FinalMode

24

IME 最终模式键。

G

71

G 键。

H

72

H 键。

HanguelMode

21

IME Hanguel 模式键。 (为了保持兼容性而设置;使用 HangulMode

HangulMode

21

IME Hangul 模式键。

HanjaMode

25

IME Hanja 模式键。

Help

47

HELP 键。

Home

36

HOME 键。

I

73

I 键。

IMEAccept

30

IME 接受键,替换 IMEAceept

IMEAceept

30

IME 接受键。 已过时,请改用 IMEAccept

IMEConvert

28

IME 转换键。

IMEModeChange

31

IME 模式更改键。

IMENonconvert

29

IME 非转换键。

Insert

45

INS 键。

J

74

J 键。

JunjaMode

23

IME Junja 模式键。

K

75

K 键。

KanaMode

21

IME Kana 模式键。

KanjiMode

25

IME Kanji 模式键。

KeyCode

65535

从键值提取键代码的位屏蔽。

L

76

L 键。

LaunchApplication1

182

启动应用程序一键(Windows 2000 或更高版本)。

LaunchApplication2

183

启动应用程序二键(Windows 2000 或更高版本)。

LaunchMail

180

启动邮件键(Windows 2000 或更高版本)。

LButton

1

鼠标左按钮。

LControlKey

162

左 CTRL 键。

Left

37

LEFT ARROW 键。

LineFeed

10

LINEFEED 键。

LMenu

164

左 ALT 键。

LShiftKey

160

左 Shift 键。

LWin

91

左 Windows 徽标键 (Microsoft Natural Keyboard)。

M

77

M 键。

MButton

4

鼠标中按钮(三个按钮的鼠标)。

MediaNextTrack

176

媒体下一曲目键(Windows 2000 或更高版本)。

MediaPlayPause

179

媒体播放暂停键(Windows 2000 或更高版本)。

MediaPreviousTrack

177

媒体上一曲目键(Windows 2000 或更高版本)。

MediaStop

178

媒体停止键(Windows 2000 或更高版本)。

Menu

18

Alt 键。

Multiply

106

乘号键。

N

78

N 键。

Next

34

PAGE DOWN 键。

NoName

252

留待将来使用的常数。

None

0

不按任何键。

NumLock

144

NUM LOCK 键。

NumPad0

96

数字键盘上的 0 键。

NumPad1

97

数字键盘上的 1 键。

NumPad2

98

数字键盘上的 2 键。

NumPad3

99

数字键盘上的 3 键。

NumPad4

100

数字键盘上的 4 键。

NumPad5

101

数字键盘上的 5 键。

NumPad6

102

数字键盘上的 6 键。

NumPad7

103

数字键盘上的 7 键。

NumPad8

104

数字键盘上的 8 键。

NumPad9

105

数字键盘上的 9 键。

O

79

O 键。

Oem1

186

OEM 1 键。

Oem102

226

OEM 102 键。

Oem2

191

OEM 2 键。

Oem3

192

OEM 3 键。

Oem4

219

OEM 4 键。

Oem5

220

OEM 5 键。

Oem6

221

OEM 6 键。

Oem7

222

OEM 7 键。

Oem8

223

OEM 8 键。

OemBackslash

226

RT 102 键的键盘上的 OEM 尖括号或反斜杠键(Windows 2000 或更高版本)。

OemClear

254

CLEAR 键。

OemCloseBrackets

221

美式标准键盘上的 OEM 右括号键(Windows 2000 或更高版本)。

Oemcomma

188

任何国家/地区键盘上的 OEM 逗号键(Windows 2000 或更高版本)。

OemMinus

189

任何国家/地区键盘上的 OEM 减号键(Windows 2000 或更高版本)。

OemOpenBrackets

219

美式标准键盘上的 OEM 左括号键(Windows 2000 或更高版本)。

OemPeriod

190

任何国家/地区键盘上的 OEM 句点键(Windows 2000 或更高版本)。

OemPipe

220

美式标准键盘上的 OEM 管道键(Windows 2000 或更高版本)。

Oemplus

187

任何国家/地区键盘上的 OEM 加号键(Windows 2000 或更高版本)。

OemQuestion

191

美式标准键盘上的 OEM 问号键(Windows 2000 或更高版本)。

OemQuotes

222

美式标准键盘上的 OEM 单/双引号键(Windows 2000 或更高版本)。

OemSemicolon

186

美式标准键盘上的 OEM 分号键(Windows 2000 或更高版本)。

Oemtilde

192

美式标准键盘上的 OEM 波形符键(Windows 2000 或更高版本)。

P

80

P 键。

Pa1

253

PA1 键。

Packet

231

用于将 Unicode 字符当作键击传递。 Packet 键值是用于非键盘输入法的 32 位虚拟键值的低位字。

PageDown

34

PAGE DOWN 键。

PageUp

33

PAGE UP 键。

Pause

19

PAUSE 键。

Play

250

播放键。

Print

42

PRINT 键。

PrintScreen

44

PRINT SCREEN 键。

Prior

33

PAGE UP 键。

ProcessKey

229

Process Key 键。

Q

81

Q 键。

R

82

R 键。

RButton

2

鼠标右按钮。

RControlKey

163

右 CTRL 键。

Return

13

Return 键。

Right

39

RIGHT ARROW 键。

RMenu

165

右 ALT 键。

RShiftKey

161

右 Shift 键。

RWin

92

右 Windows 徽标键 (Microsoft Natural Keyboard)。

S

83

S 键。

Scroll

145

Scroll Lock 键。

Select

41

SELECT 键。

SelectMedia

181

选择媒体键(Windows 2000 或更高版本)。

Separator

108

分隔符键。

Shift

65536

Shift 修改键。

ShiftKey

16

Shift 键。

Sleep

95

计算机睡眠键。

Snapshot

44

PRINT SCREEN 键。

Space

32

SPACEBAR 键。

Subtract

109

减号键。

T

84

T 键。

Tab

9

TAB 键。

U

85

U 键。

Up

38

UP ARROW 键。

V

86

V 键。

VolumeDown

174

减小音量键(Windows 2000 或更高版本)。

VolumeMute

173

静音键(Windows 2000 或更高版本)。

VolumeUp

175

增大音量键(Windows 2000 或更高版本)。

W

87

W 键。

X

88

X 键。

XButton1

5

第一个 X 鼠标按钮(五个按钮的鼠标)。

XButton2

6

第二个 X 鼠标按钮(五个按钮的鼠标)。

Y

89

Y 键。

Z

90

Z 键。

Zoom

251

缩放键。

反馈与讨论

功能建议 · 67
航幽冥 2天23小时前 航幽冥 2天22小时前
使用问题 · 90
Joker_D 2023-12-20 12:13 CL 2023-12-20 13:50
使用问题 · 122
抄书侠(GM) 2023-11-26 09:26 肯图kentu 2024-01-01 11:03
经验创意 · 1 · 151
CL 2023-09-14 21:59
语雀在语雀上查看