High-Level Console Modes
The behavior of the high-level console functions is affected by the console
input and output modes. All of the following console input modes are enabled for
a console's input buffer when a console is created:
- Line input mode
- Processed input mode
- Echo input mode
Both of the following console output modes are enabled for a console screen
buffer when it is created:
- Processed output mode
- Wrapping at EOL output mode
All three input modes, along with processed output mode, are designed to work
together. It is best to either enable or disable all of these modes as a group.
When all are enabled, the application is said to be in "cooked" mode, which
means that most of the processing is handled for the application. When all are
disabled, the application is in "raw" mode, which means that input is unfiltered
and any processing is left to the application.
An application can use the GetConsoleMode
function to determine the current mode of a console's input buffer or screen
buffer. You can enable or disable any of these modes by using the following
values in the SetConsoleMode
function. Note that setting the output mode of one screen buffer does not
affect the output mode of other screen buffers.
||Used with a console input handle to cause the system to process any system
editing or control key input rather than returning it as input in the read
operation's buffer. If line input is also enabled, backspaces and carriage returns are
handled correctly. A backspace causes the cursor to move back one space
without affecting the character at the cursor position. A carriage return is
converted to carriage return linefeed character combination. If echo input mode is enabled and the output
should reflect system editing, processed output must be enabled for the active
screen buffer. If processed input is enabled, the CTRL+C key combination is passed on to the appropriate handler regardless of whether
line input is enabled. For more information about control handlers, see Console Control Handlers.
||Used with a console input handle to cause the ReadFile and ReadConsole functions to return when the ENTER key is pressed. If line input mode is disabled, the functions return when one
or more characters are available in the input buffer.
||Used with a console input handle to cause keyboard input read by the ReadFile or ReadConsole function to be echoed to the active screen buffer. Characters are echoed only
if the process that calls ReadFile or ReadConsole has an open handle of the active screen buffer. Echo mode cannot be enabled
unless line input is also enabled. The output mode of the active screen buffer
affects the way echoed input is displayed.
||Used with a console screen buffer handle to cause the system to perform the
appropriate action for ANSI control characters that are written to a screen
buffer. The backspace, tab, bell, carriage return, and linefeed characters are
processed. A tab character moves the cursor to the next tab stop, which occurs every
eight characters. A bell character sounds a short tone.
||Used with a console screen buffer handle to cause the current output position
(cursor position) to move to the first column in the next row (line) when the
end of the current row is reached. If the bottom of the window region is
reached, the window origin is moved down one row. This movement has the effect of
scrolling the contents of the window up one row. If the bottom of the screen buffer
is reached, the contents of the screen buffer are scrolled up one row, and the
top row of the screen buffer is discarded. If this mode is disabled, the last
character in the row is overwritten with any subsequent characters.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages
- Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database