返回一个编号,该编号对应于键盘缓冲区中第一个鼠标单击或按键操作。
语法
INKEY([nSeconds] [, cHideCursor])
返回值类型
数值型
参数
nSeconds
以秒为单位,指定 inkey( ) 函数对键击的等待时间。如果不包含 nSeconds,inkey( ) 函数立即返回一次键击的值;如果 nSeconds 为 0,inkey( ) 函数一直等待到有键击为止。
cHideCursor
显示或隐藏光标,或者检查鼠标单击。若要显示光标,请在 cHideCursor 中包含 S;若要隐藏光标,请在 cHideCursor 中包含 H;如果既包含 S 又包含 H,则使用后一个字符的设置。
默认时,inkey( ) 函数不检查鼠标单击。如果要检查鼠标单击,可在 cHideCursor 中包含 M。若在 cHideCursor 中包含了 M,则 inkey( ) 函数返回 151 表示一次鼠标单击。要查看如何检查双击,请参阅下表中的第二个示例。
如果既要检查鼠标单击又要显示光标,可在 cHideCursor 中包含 M 和 S;若要检查鼠标单击并且隐藏光标,可包含 M 和 H。
当为一个键或组合键指定了键盘宏时,在 cHideCursor 中包含 E 可以扩展键盘宏。包含 E 时,inkey( ) 函数将返回指定给键盘宏的第一个键击所对应的值,重复执行包含 E 的 INKEY( )
函数,可返回后续键击所对应的值;如省略 E,inkey( ) 函数将返回触发键盘宏的键或组合键本身的对应值。
在 cHideCursor 中,除了 H、M、S 和 E 之外的其他字符都被忽略。
下表列出了单键以及单键与 Shift、Ctrl 和 Alt 组合键时 inkey( ) 函数的返回值。
键名 | 单键 | SHIFT | CTRL | ALT |
F1 | 28 | 84 | 94 | 104 |
F2 | –1 | 85 | 95 | 105 |
F3 | –2 | 86 | 96 | 106 |
F4 | –3 | 87 | 97 | 107 |
F5 | –4 | 88 | 98 | 108 |
F6 | –5 | 89 | 99 | 109 |
F7 | –6 | 90 | 100 | 110 |
F8 | –7 | 91 | 101 | 111 |
F9 | –8 | 92 | 102 | 112 |
F10 | –9 | 93 | 103 | 113 |
F11 | 133 | 135 | 137 | 139 |
F12 | 134 | 136 | 138 | 140 |
1 | 49 | 33 | – | 120 |
2 | 50 | 64 | – | 121 |
3 | 51 | 35 | – | 122 |
4 | 52 | 36 | – | 123 |
5 | 53 | 37 | – | 124 |
6 | 54 | 94 | – | 125 |
7 | 55 | 38 | – | 126 |
8 | 56 | 42 | – | 127 |
9 | 57 | 40 | – | 128 |
0 | 48 | 41 | – | 19 |
a | 97 | 65 | 1 | 30 |
b | 98 | 66 | 2 | 48 |
c | 99 | 67 | 3 | 46 |
d | 100 | 68 | 4 | 32 |
e | 101 | 69 | 5 | 18 |
f | 102 | 70 | 6 | 33 |
g | 103 | 71 | 7 | 34 |
h | 104 | 72 | 127 | 35 |
I | 105 | 73 | 9 | 23 |
j | 106 | 74 | 10 | 36 |
k | 107 | 75 | 11 | 37 |
l | 108 | 76 | 12 | 38 |
m | 109 | 77 | 13 | 50 |
n | 110 | 78 | 14 | 49 |
o | 111 | 79 | 15 | 24 |
p | 112 | 80 | 16 | 25 |
q | 113 | 81 | 17 | 16 |
r | 114 | 82 | 18 | 19 |
s | 115 | 83 | 19 | 31 |
t | 116 | 84 | 20 | 20 |
u | 117 | 85 | 21 | 22 |
v | 118 | 86 | 22 | 47 |
w | 119 | 87 | 23 | 17 |
x | 120 | 88 | 24 | 45 |
y | 121 | 89 | 25 | 21 |
z | 122 | 90 | 26 | 44 |
INS | 22 | 22 | 146 | 162 |
HOME | 1 | 55 | 29 | 151 |
DEL | 7 | 7 | 147 | 163 |
END | 6 | 49 | 23 | 159 |
PAGE UP | 18 | 57 | 31 | 153 |
PAGE DOWN | 3 | 51 | 30 | 161 |
UP ARROW | 5 | 56 | 141 | 152 |
DOWN ARROW | 24 | 50 | 145 | 160 |
RIGHT ARROW | 4 | 54 | 2 | 157 |
LEFT ARROW | 19 | 52 | 26 | 155 |
ESC | 27 | –/27 | –*/27 | –*/1 |
ENTER | 13 | 13 | 10 | –/166 |
BACKSPACE | 127 | 127 | 127 | 14 |
TAB | 9 | 15 | 148/* | * |
SPACEBAR | 32 | 32 | 32/– | 57 |
* Windows 保留的击键.
说明
如果没有按下键,则 inkey( ) 函数返回 0;如果键盘缓冲区中有多个键,inkey( ) 函数只返回第一个输入到缓冲区的键的值。