ReadConsoleInput
From Programming Far Manager plugins
ReadConsoleInput
ReadConsoleInput считывает данные из входного буфера консоли и удаляет их оттуда.
BOOL ReadConsoleInput( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead );
Параметры
GENERIC_READ.lpBuffer, которое необходимо получить.Возвращаемое значение
В случае успеха возвращается ненулевое значение.
Если функция завершается неудачно, возвращается ноль.
Для получения дополнительной информации вызывайте функцию GetLastError.
Замечания
Если число записей, запрашиваемых параметром nLength превышает число записей,
доступных в буфере, будут считаны только доступные. Функция не возвращает
управление, пока хоть одна запись не будет прочитана.
Процесс может указать описатель входного буфера консоли в одной из функций ожидания для определения присутствия непрочитанного консольного ввода. Когда входной буфер не пуст, объект входной буфер консоли становится свободным.
Для определения числа непрочитанных сообщений во входном буфере используйте функцию GetNumberOfConsoleInputEvents . Для чтения сообщений без их удаления из буфера используйте PeekConsoleInput. Для удаления всех сообщений из входного буфера используйте функцию FlushConsoleInputBuffer .
-
Эта функция использует либо Unicode, либо 8-битовые символы из текущей кодовой страницы консоли.
Кодовая страница консоли по умолчанию равна системной OEM странице.
Для смены кодовой страницы используйте функции SetConsoleCP или SetConsoleOutputCP , или используйте командыchcpилиmode con cp select=.