|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| No
| Import Library
| kernel32.lib
| Header File
| wincon.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
ReadConsoleOutput
The
ReadConsoleOutput function reads character and color attribute data from a rectangular block of
character cells in a console screen buffer, and the function writes the data
to a rectangular block at a specified location in the destination buffer.
BOOL ReadConsoleOutput(
HANDLE hConsoleOutput,
| // handle of a console screen buffer
|
PCHAR_INFO lpBuffer,
| // address of buffer that receives data
|
COORD dwBufferSize,
| // column-row size of destination buffer
|
COORD dwBufferCoord,
| // upper-left cell to write to
|
PSMALL_RECT lpReadRegion
| // address of rectangle to read from
|
);
|
|
Parameters
hConsoleOutput
Identifies the screen buffer. The handle must have GENERIC_READ access.
lpBuffer
Points to a destination buffer that receives the data read from the screen
buffer. This pointer is treated as the origin of a two-dimensional array of
CHAR_INFO structures whose size is specified by the
dwBufferSize parameter.
dwBufferSize
Specifies the size, in character cells, of the
lpBuffer parameter. The
X member of the
COORD structure is the number of columns; the
Y member is the number of rows.
dwBufferCoord
Specifies the coordinates of the upper-left cell in the
lpBuffer parameter that receives the data read from the screen buffer. The
X member of the
COORD structure is the column, and the
Y member is the row.
lpReadRegion
Points to a
SMALL_RECT structure. On input, the structure members specify the upper-left and
lower-right coordinates of the screen buffer rectangle from which the function is to
read. On output, the structure members specify the actual rectangle that the
function copied from.
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
ReadConsoleOutput treats the screen buffer and the destination buffer as two-dimensional arrays
(columns and rows of character cells). The rectangle pointed to by the
lpReadRegion parameter specifies the size and location of the block to be read from the
screen buffer. A destination rectangle of the same size is located with its
upper-left cell at the coordinates of the
dwBufferCoord parameter in the
lpBuffer array. Data read from the cells in the screen buffer source rectangle is
copied to the corresponding cells in the destination buffer. If the corresponding
cell is outside the boundaries of the destination buffer rectangle (whose
dimensions are specified by the
dwBufferSize parameter), the data is not copied.
Cells in the destination buffer corresponding to coordinates that are not
within the boundaries of the screen buffer are left unchanged. In other words,
these are the cells for which no screen buffer data is available to be read.
Before
ReadConsoleOutput returns, it sets the members of the structure pointed to by the
lpReadRegion parameter to the actual screen buffer rectangle whose cells were copied into
the destination buffer. This rectangle reflects the cells in the source
rectangle for which there existed a corresponding cell in the destination buffer,
because
ReadConsoleOutput clips the dimensions of the source rectangle to fit the boundaries of the
screen buffer.
If the rectangle specified by
lpReadRegion lies completely outside the boundaries of the screen buffer, or if the
corresponding rectangle is positioned completely outside the boundaries of the
destination buffer, no data is copied. In this case, the function returns with the
members of the structure pointed to by the
lpReadRegion parameter set such that the
Right member is less than the
Left, or the
Bottom member is less than the
Top. To determine the size of the screen buffer, use the
GetConsoleScreenBufferInfo function.
The
ReadConsoleOutput function has no effect on the screen buffer's cursor position. The contents
of the screen buffer are not changed by the function.
Windows NT: This function uses either Unicode characters or 8-bit characters from the
console's current codepage. The console's codepage defaults initially to the
system's OEM codepage. To change the console's codepage, use the
SetConsoleCP or
SetConsoleOutputCP functions, or use the
chcp or
mode con cp select= commands.
See Also
CHAR_INFO,
COORD,
ReadConsoleOutputAttribute,
ReadConsoleOutputCharacter,
SetConsoleCP,
SetConsoleOutputCP,
SMALL_RECT,
WriteConsoleOutput
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database