Win32 supports a character mode API set. The purpose of this API set is to provide a processor-independent mechanism that allows character-mode applications to be ported easily to the Windows environment, This API set includes limited support for:
Standard Input, Output, and Error I/O operations.
Re-direction of standard I/O handles through pipes and files.
Direct manipulation of console state
For additional information on how to use the console functions, see the Console Overview.
The character-based functions include:
| Function | Description |
| AllocConsole | Creates a new console for the calling process |
| CreateConsoleScreenBuffer | Allocates a new screen buffer. |
| FillConsoleOutputAttribute | Writes an attribute n times to the screen buffer |
| FillConsoleOutputCharacter | Writes a character n times to the screen buffer |
| FlushConsoleInputBuffer | Empties the console input buffer |
| FreeConsole | Removes the calling process's console |
| GetConsoleCursorInfo | Returns the cursor size and visibility for a console screen buffer |
| GetConsoleMode | Returns the console input or output mode |
| GetConsoleScreenBufferInfo | Returns information about a console screen buffer |
| GetConsoleTitle | Returns the window title of a console |
| GetLargestConsoleWindowSize | Returns the current font for a console screen buffer |
| GetNumberOfConsoleInputEvents | Returns the number of events in a console input buffer |
| GetNumberOfConsoleMouseButtons | Returns the number of mouse buttons |
| PeekConsoleInput | Reads events from a console input buffer without removing them |
| ReadConsoleInput | Reads events from a console input buffer |
| ReadConsoleOutput | Reads a rectangular region of a console screen buffer |
| ReadConsoleOutputAttribute | Reads a string of attributes from a console screen buffer |
| ReadConsoleOutputCharacter | Reads a string of characters from a console screen buffer |
| ScrollConsoleScreenBuffer | Copies a region from one part of a console screen buffer to another |
| SetConsoleActiveScreenBuffer | Sets the visible screen buffer for a console |
| SetConsoleCtrlHandler | Sets a ctrl handler for the calling process |
| SetConsoleCursorInfo | Sets the cursor size and visibility for a console screen buffer |
| SetConsoleCursorPosition | Sets the cursor position for a console screen buffer |
| SetConsoleMode | Sets the console input or output mode |
| SetConsoleScreenBufferSize | Sets the screen buffer size for a console screen buffer |
| SetConsoleTextAttribute | Sets the background and text color for a console screen buffer |
| SetConsoleTitle | Sets the window title of a console |
| SetConsoleWindowInfo | Sets the dimensions of the window relative to the console screen buffer |
| WriteConsoleInput | Writes events to a console input buffer |
| WriteConsoleOutput | Writes a rectangular region to a console screen buffer |
| WriteConsoleOutputAttribute | Writes a string of attributes to a console screen buffer |
| WriteConsoleOutputCharacter | Writes a string of characters to a console screen buffer |