KEY_EVENT_RECORD

【勇芳软件工作室】汉化HomePreviousNext

KEY_EVENT_RECORD结构用于在控制台INPUT_RECORD结构中报告键盘输入事件。

typedef struct _KEY_EVENT_RECORD { //因为

BOOL bKeyDown;

WORD wRepeatCount;

WORD wVirtualKeyCode;

WORD wVirtualScanCode;

工会{

WCHAR UnicodeChar;

CHAR AsciiChar;

} uChar;

DWORD dwControlKeyState;

} KEY_EVENT_RECORD;

会员

bKeyDown

如果键被按下,则指定为TRUE,如果键被释放,则为FALSE。

wRepeatCount

指定一个表示正在按住键的计数。例如,当一个键被按下时,你可能会得到五个事件,其中该成员等于1,一个事件与该成员等于5,或多个事件与此成员大于或等于1。

wVirtualKeyCode

指定以设备无关的方式标识给定键的虚拟键代码。

wVirtualScanCode

指定给定键的虚拟扫描代码,表示由键盘硬件生成的与设备相关的值。

飞行

指定翻译的Unicode或ASCII字符,具体取决于是否使用了宽字符(Unicode)或ANSI版本的ReadConsoleInput函数。

dwControlKeyState

表示控制键的状态。该成员可以是以下值的组合:

含义
CAPSLOCK_ONCAPS LOCK指示灯亮起。
ENHANCED_KEY关键是增强了。
LEFT_ALT_PRESSED按左ALT键。
LEFT_CTRL_PRESSED按住左侧的CTRL键。
NUMLOCK_ONNUM LOCK指示灯亮起。
RIGHT_ALT_PRESSED按ALT键。
RIGHT_CTRL_PRESSED右键CTRL键被按下。
SCROLLLOCK_ONSCROLL LOCK指示灯亮起。
SHIFT_PRESSED按SHIFT键。

备注

IBM 101-和102键键盘的增强键是键盘左侧的集群中的INS,DEL,HOME,END,PAGE UP,PAGE DOWN和方向键;和键盘上的除数(/)和ENTER键。

当按下或释放任何键(包括控制键)时,将生成键盘输入事件。但是,当按下并释放ALT键而不与另一个字符组合时,ALT键对Windows具有特殊的意义,不会传递给应用程序。此外,如果输入句柄处于处理模式(ENABLE_PROCESSED_INPUT),则CTRL + C组合键不会传递。

也可以看看

PeekConsoleInput, ReadConsoleInput, WriteConsoleInput, INPUT_RECORD