|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
SetConsoleMode
The SetConsoleMode function sets the input mode of a console's input buffer or the output mode of a console screen buffer.
BOOL SetConsoleMode(
HANDLE hConsoleHandle, // handle of console input or screen buffer DWORD dwMode // input or output mode to set );
Parameters
hConsoleHandle
Identifies a console input buffer or a screen buffer. The handle must have GENERIC_WRITE access.
dwMode
Specifies the input or output mode to set. If the hConsoleHandle parameter is an input handle, the mode can be a combination of the following values. When a console is created, all input modes except ENABLE_WINDOW_INPUT are enabled by default.
Value Meaning ENABLE_LINE_INPUT The ReadFile or ReadConsole function returns only when a carriage return character is read. If this mode is disabled, the functions return when one or more characters are available. ENABLE_ECHO_INPUT Characters read by the ReadFile or ReadConsole function are written to the active screen buffer as they are read. This mode can be used only if the ENABLE_LINE_INPUT mode is also enabled. ENABLE_PROCESSED_INPUT CTRL+C is processed by the system and is not placed in the input buffer. If the input buffer is being read by ReadFile or ReadConsole, other control keys are processed by the system and are not returned in the ReadFile or ReadConsole buffer. If the ENABLE_LINE_INPUT mode is also enabled, backspace, carriage return, and linefeed characters are handled by the system. ENABLE_WINDOW_INPUT User interactions that change the size of the console screen buffer are reported in the console's input buffer. Information about these events can be read from the input buffer by applications using the ReadConsoleInput function, but not by those using ReadFile or ReadConsole. ENABLE_MOUSE_INPUT If the mouse pointer is within the borders of the console window and the window has the keyboard focus, mouse events generated by mouse movement and button presses are placed in the input buffer. These events are discarded by ReadFile or ReadConsole, even when this mode is enabled.
If the hConsoleHandle parameter is a screen buffer handle, the mode can be a combination of the following values. When a screen buffer is created, both output modes are enabled by default.
Value Meaning ENABLE_PROCESSED_OUTPUT Characters written by the WriteFile or WriteConsole function or echoed by the ReadFile or ReadConsole function are examined for ASCII control sequences and the correct action is performed. Backspace, tab, bell, carriage return, and linefeed characters are processed. ENABLE_WRAP_AT_EOL_OUTPUT When writing with WriteFile or WriteConsole or echoing with ReadFile or ReadConsole, the cursor moves to the beginning of the next row when it reaches the end of the current row. This causes the rows displayed in the console window to scroll up automatically when the cursor advances beyond the last row in the window. It also causes the contents of the screen buffer to scroll up (discarding the top row of the screen buffer) when the cursor advances beyond the last row in the screen buffer. If this mode is disabled, the last character in the row is overwritten with any subsequent characters.
Return Values
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
A console consists of an input buffer and one or more screen buffers. The mode of a console buffer determines how the console behaves during input and output (I/O) operations. One set of flag constants is used with input handles, and another set is used with screen buffer (output) handles. Setting the output modes of one screen buffer does not affect the output modes of other screen buffers. The ENABLE_LINE_INPUT and ENABLE_ECHO_INPUT modes only affect processes that use ReadFile or ReadConsole to read from the console's input buffer. Similarly, the ENABLE_PROCESSED_INPUT mode primarily affects ReadFile and ReadConsole users, except that it also determines whether CTRL+C input is reported in the input buffer (to be read by the ReadConsoleInput function) or is passed to a HandlerRoutine function defined by the application.
The ENABLE_WINDOW_INPUT and ENABLE_MOUSE_INPUT modes determine whether user interactions involving window resizing and mouse actions are reported in the input buffer or discarded. These events can be read by ReadConsoleInput, but they are always filtered by ReadFile and ReadConsole. The ENABLE_PROCESSED_OUTPUT and ENABLE_WRAP_AT_EOL_OUTPUT modes only affect processes using ReadFile or ReadConsole and WriteFile or WriteConsole.
To determine the current mode of a console input buffer or a screen buffer, use the GetConsoleMode function.
See Also
GetConsoleMode, HandlerRoutine, ReadConsole, ReadConsoleInput, ReadFile, WriteConsole, WriteFile
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
SetConsoleMode
Функция SetConsoleMode устанавливает входной способ консольного входного буфера или выходной способ консольного экранного буфера.
BOOL SetConsoleMode(
РУЧКА hConsoleHandle, // ручка консоли вводят или отгораживают вклад буфера DWORD dwMode // или выходной способ, чтобы устанавливаться );
Параметры
hConsoleHandle
Идентифицирует консольный входной буфер или экранный буфер. Ручка должна иметь доступ GENERIC_WRITE.
dwMode
Определяет входной или выходной способ, чтобы устанавливаться. Если параметр hConsoleHandle является входной ручкой, способ может быть комбинацией следующего величин. Когда консоль создана, все вводят способы за исключением того ENABLE_WINDOW_INPUT приспосабливаются по умолчанию.
Значение Величины ENABLE_LINE_INPUT ReadFile или функциональный возврат ReadConsole только когда перевод строки символа прочитан. Если этот режим выведен из строя, функции возвращаются когда один или более символов доступны. Символы ENABLE_ECHO_INPUT были прочитаны ReadFile или функция ReadConsole записана в активный экранный буфер как они прочитаны. Этот режим может использоваться только если режим ENABLE_LINE_INPUT также приспособлен. ENABLE_PROCESSED_INPUT CTRL+C обработан системой и не установлен в входном буфере. Если входной буфер прочитанн ReadFile или ReadConsole, другие управляющие клавиши обработаны системой и не возвращаны в ReadFile или буфер ReadConsole. Если режим ENABLE_LINE_INPUT также приспособлен, возвращайтесь, перевод строки, и перевод строки символов прооперирован системой. взаимодействие Пользователя ENABLE_WINDOW_INPUT, которое изменяет размер консольного экранного буфера сообщены в консольном входном буфере. Информация об этих событиях может быть прочитана из входного буфера приложениями, использовавшими функцию ReadConsoleInput, но не тем использованием ReadFile или ReadConsole. ENABLE_MOUSE_INPUT Если указатель мыши - в пределах границ консольного окна и окно имеет клавишный фокус, события мыши генерировались перемещением мыши и нажатия кнопки установлены в входном буфере. Эти события отвергнуты ReadFile или ReadConsole, даже когда этот режим приспособлен.
Если параметр hConsoleHandle является экранной буферной ручкой, режим может быть комбинацией следующего величин. Когда экранный буфер создан, оба выходных режима приспосабливаются по умолчанию.
Значение Величины Символы ENABLE_PROCESSED_OUTPUT записанные WriteFile или функция WriteConsole или echoed ReadFile или функция ReadConsole изучена на наличие управляющих последовательностей ASCII и правильное действие выполнено. Возврат, таб., сигнал, перевод строки, и перевод строки символов обработаны. ENABLE_WRAP_AT_EOL_OUTPUT При записи с WriteFile или WriteConsole или эхоконтролем с ReadFile или ReadConsole, курсор перемещает на начало следующей колонки когда он достигает конца текущей колонки. Это вызывает колонки отображенные в консольном окне, чтобы перемещаться по автоматически когда курсор продвигается за последней колонкой в окне. Это также заставляет содержание экранного буфера, чтобы перемещаться по (отвергать верхней колонки экранного буфера) когда курсор продвигается за последней колонкой в экранном буфере. Если этот режим выведен из строя, последний символ в колонке переписан любыми последующими символами.
Обратные Величины
Если функция добивается успеха, обратная величина ненулевая. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.
Замечания
Консоль состоит из входного буфера и одно или более отгораживают буферы. Режим консольного буфера определяет как консоль ведется себя в течение ввода и выхода (В/В) операций. Один установленное констант флага использован входными ручками, и другая установка использована экранными ручками буфера (выход). Установка выходных режимов одного экранного буфера не влияет на выходные режимы других экранных буферов. ENABLE_LINE_INPUT И режимы ENABLE_ECHO_INPUT только влияют на процессы, которые используют ReadFile или ReadConsole, чтобы читаться из консольного входного буфера. Аналогично, режим ENABLE_PROCESSED_INPUT первоначально влияет на ReadFile и пользователей ReadConsole, за исключением того это это также определяет сообщен ввод CTRL+C в входном буфере (чтобы быть прочитанн функцией ReadConsoleInput) или пройдено в функцию HandlerRoutine определенную приложением.
ENABLE_WINDOW_INPUT И режимы ENABLE_MOUSE_INPUT определяют взаимодействие независимо пользователя, включающее менять размеры окна и действия мыши сообщены в входном буфере или отвергнутом. Эти события могут быть прочитаны ReadConsoleInput, но они всегда отфильтрованы ReadFile и ReadConsole. ENABLE_PROCESSED_OUTPUT И режимы ENABLE_WRAP_AT_EOL_OUTPUT только влияют на процессы используя ReadFile или ReadConsole и WriteFile или WriteConsole.
Для того, чтобы определять текущий режим консольного входного буфера или экранный буфер, используйте функцию GetConsoleMode.
Смотри Также
GetConsoleMode, HandlerRoutine, ReadConsole, ReadConsoleInput, ReadFile, WriteConsole, WriteFile
|
|
|
|
| |