KEY_EVENT_RECORD 结构
说明控制台 INPUT_RECORD 结构中的键盘输入事件。
语法
typedef struct _KEY_EVENT_RECORD {
BOOL bKeyDown;
WORD wRepeatCount;
WORD wVirtualKeyCode;
WORD wVirtualScanCode;
union {
WCHAR UnicodeChar;
CHAR AsciiChar;
} uChar;
DWORD dwControlKeyState;
} KEY_EVENT_RECORD;
成员
bKeyDown
如果按下该键,则此成员为 TRUE。 否则,此成员为 FALSE(已发布密钥)。
wRepeatCount
表示某个键被按下的重复次数。 例如,当某个键被按下时,可能会得到此成员等于 1 的五个事件,此成员等于 5 的一个事件,或者此成员大于或等于 1 的多个事件。
wVirtualKeyCode
一种虚拟键代码,以独立于设备的方式标识给定密钥。
wVirtualScanCode
给定键的虚拟扫描代码,它表示键盘硬件生成的依赖于设备的值。
uChar
由以下成员组成的联合。
UnicodeChar
已转换的 Unicode 字符。
AsciiChar
已转换的 ASCII 字符。
dwControlKeyState
控制键的状态。 此成员可以是一个或多个以下值。
值 | 含义 |
---|---|
CAPSLOCK_ON 0x0080 | CAPS LOCK 指示灯亮起。 |
ENHANCED_KEY 0x0100 | 按键已增强。 请参阅注解。 |
LEFT_ALT_PRESSED 0x0002 | 按下左 ALT 键。 |
LEFT_CTRL_PRESSED 0x0008 | 按下左 CTRL 键。 |
NUMLOCK_ON 0x0020 | NUM LOCK 指示灯亮起。 |
RIGHT_ALT_PRESSED 0x0001 | 按下右 ALT 键。 |
RIGHT_CTRL_PRESSED 0x0004 | 按下右 CTRL 键。 |
SCROLLLOCK_ON 0x0040 | SCROLL LOCK 指示灯亮起。 |
SHIFT_PRESSED 0x0010 | 按下 SHIFT 键。 |
注解
IBM® 101 和 102 键的键盘增强键是键盘左侧群集中的 INS、DEL、HOME、END、PAGE UP、PAGE DOWN 和方向键;以及键盘中的除号 (/) 和 ENTER 键。
当按下或释放任何键(包括控制键)时,会生成键盘输入事件。 但是,在不与其他字符组合的情况下按下和释放 Alt 键时,它对系统具有特殊意义,并且不会传递到应用程序。 此外,如果输入句柄处于处理模式 (ENABLE_PROCESSED_INPUT),则不会传递 Ctrl+C 组合键。
示例
有关示例,请参阅读取输入缓冲区事件。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | WinConTypes.h (via WinCon.h, include Windows.h) |