# WriteConsoleInput

Функция `WriteConsoleInput` записывает данные непосредственно в консольный входной буфер.

    BOOL WriteConsoleInput(
      HANDLE hConsoleInput,
      CONST INPUT_RECORD *lpBuffer,
      DWORD nLength,
      LPDWORD lpNumberOfEventsWritten
    );

### Параметры

hConsoleInput
Дескриптор консольного буфера ввода. Дескриптор должен иметь права `GENERIC_WRITE`.
lpBuffer
Указатель на массив структур INPUT_RECORD, содержащий данные для записи во входной буфер.
nLength
Число элементов для записи во входной буфер.
lpNumberOfEventsWritten
Указатель на 32-х разрядную переменную, которая получит число реально записанных элементов.

### Возвращаемое значение

В случае успеха возвращается ненулевое значение.
Если функция завершается неудачно, возвращается ноль. Для получения дополнительной информации вызывайте функцию `GetLastError`.

### Замечания

Функция `WriteConsoleInput` помещает записи INPUT_RECORD в конец входного буфера. Входной буфер при необходимости растёт динамически для хранения необходимого количества записей.

- Эта функция использует либо Unicode, либо 8-битовые символы из текущей кодовой страницы консоли. Кодовая страница консоли по умолчанию равна системной OEM странице.
  Для смены кодовой страницы используйте функции SetConsoleCP или SetConsoleOutputCP, или используйте команды `chcp` или `mode con cp select=`.

Смотрите также:
INPUT_RECORD, ReadConsoleInput, SetConsoleCP, SetConsoleOutputCP, PeekConsoleInput