# INPUT_RECORD

Структура `INPUT_RECORD` используется для возвращения информации о входных сообщениях в консольном входном буфере. Эти записи могут быть считаны из входного буфера используя функции ReadConsoleInput или PeekConsoleInput, или записаны функцией WriteConsoleInput.

    typedef struct _INPUT_RECORD {
     WORD EventType;
     union {
        KEY_EVENT_RECORD KeyEvent;
        MOUSE_EVENT_RECORD MouseEvent;
        WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
        MENU_EVENT_RECORD MenuEvent;
        FOCUS_EVENT_RECORD FocusEvent;
     } Event;
    } INPUT_RECORD;

### Элементы

EventType
Означает тип входного сообщения и запись события, сохранённую в элементе Event.
Этот элемент может иметь одно из следующих значений:

Событие | Описание
--- | ---
KEY_EVENT | Элемент Event содержит структуру KEY_EVENT_RECORD с информацией о сообщении с клавиатуры.
MOUSE_EVENT | Элемент Event содержит структуру MOUSE_EVENT_RECORD с информацией о сообщении мыши - перемещении или нажатии клавиш.
WINDOW_BUFFER_SIZE_EVENT | Элемент Event содержит структуру WINDOW_BUFFER_SIZE_RECORD с информацией о новом размере экрана консоли.
MENU_EVENT | Элемент Event содержит структуру MENU_EVENT_RECORD. Эти сообщения используются системой и должны игнорироваться.
FOCUS_EVENT | Элемент Event содержит структуру FOCUS_EVENT_RECORD. Эти сообщения используются системой и должны игнорироваться.

Event
Содержит структуры `KEY_EVENT_RECORD`, `MOUSE_EVENT_RECORD`, `WINDOW_BUFFER_SIZE_RECORD`, `MENU_EVENT_RECORD` или `FOCUS_EVENT_RECORD`, в зависимости от значения, указанного в `EventType`.
Смотрите также:
KEY_EVENT_RECORD, MOUSE_EVENT_RECORD, WINDOW_BUFFER_SIZE_RECORD, MENU_EVENT_RECORD, FOCUS_EVENT_RECORD, PeekConsoleInput, ReadConsoleInput, WriteConsoleInput