На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

ReadConsoleOutput



Функция ReadConsoleOutput читает символ и окрашивает вспомогательные данные из прямоугольного блока символьных ячеек в консольном экранном буфере, и функция записывает данные прямоугольному блоку в определенной позиции в буфере расположения.

BOOL ReadConsoleOutput(

РУЧКА hConsoleOutput, // ручка консоли отгораживают буфер PCHAR_INFO lpBuffer, // адрес буфера, который получает данные COORD dwBufferSize, // размер столбца-колонка буфера расположения COORD dwBufferCoord, // верхней левой ячейки, чтобы записываться в адрес PSMALL_RECT lpReadRegion // прямоугольника, чтобы читать из
);


Параметры

hConsoleOutput

Идентифицирует экранный буфер. Ручка должна иметь доступ GENERIC_READ.

lpBuffer

Точки на буфер расположения, что получает данные прочитанные из экранного буфера. Этот указатель рассмотрен как начало двумерного массива структур CHAR_INFO, чей размер определен параметром dwBufferSize.

dwBufferSize

Определяет размер, в символьных ячейках, параметра lpBuffer. Элемент X структуры COORD является количеством столбцов; элемент Y является количеством колонок.

dwBufferCoord

Определяет координаты верхней левой ячейки в параметре lpBuffer, который получает данные прочитанные из экранного буфера. Элемент X структуры COORD является столбцом, и элемент Y является колонкой.

lpReadRegion

Точки на структуру SMALL_RECT. На вводе, структурные участники определяют верхнее левое и более низкое право координат экранного буферного прямоугольника из которого функция должна читаться. На выходе, структурные участники определяют фактический прямоугольник, что функция копировала из.



Обратные Величины

Если функция добивается успеха, обратная величина ненулевая.
Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.

Замечания

ReadConsoleOutput РАССМАТРИВАЕТ экранный буфер и буфер расположения как двумерный подготавливает (столбцы и колонки символьных ячеек). Прямоугольник указанный, чтобы параметром lpReadRegion определяет размер и позицию блока, которые нужно быть прочитаны из экранного буфера. Прямоугольник расположения того же самого размера расположен своей верхней левой ячейкой в координатах параметра dwBufferCoord в массиве lpBuffer. Данные прочитанные из ячеек в экранном буферном исходном прямоугольнике скопированы в соответствующие ячейки в буфере расположения. Если соответствующая ячейка - за пределами границ буферного прямоугольника расположения (чьи измерения определены параметром dwBufferSize), данные не скопированы.

Ячейки в расположении буферизуют соответствовать в координаты, которые - не в пределах границ экранного буфера оставлены неизменным. Другими словами, эти - ячейки для которых никакие экранные буферные данные не доступно быть прочитанн.
Перед возврат ReadConsoleOutput, это устанавливает участников структуры указанной, чтобы параметром lpReadRegion в фактический экранный буферный прямоугольник, чьи ячейки были скопированы в буфер расположения. Этот прямоугольник отражает ячейки в исходном прямоугольнике для которых там существовали соответствующую ячейку в буфере расположения, поскольку ReadConsoleOutput вырезает измерения исходного прямоугольника, чтобы устанавливать границы экранного буфера.

Если прямоугольник определялся бы ложью lpReadRegion полностью за пределами границ экранного буфера, или если соответствующий прямоугольник не позиционируется полностью за пределами границ буфера расположения, никакие данные не скопированы. В этом случае, функция возвращается с участниками структуры указанной, чтобы параметром lpReadRegion установленным так что элемент Права - менее чем Левый, или элемент Низа - менее чем Верх. Для того, чтобы определять размер экранного буфера, используйте функцию GetConsoleScreenBufferInfo.

Функция ReadConsoleOutput не имеет эффект в экранной буферной позиции курсора. Содержание экранного буфера не изменено функцией.
Windows NT: Эта функция использует или символы Уникода или 8- битовых символов из консольного текущего codepage. Консольный codepage устанавливается по умолчанию первоначально в системный codepage OEM. Для того, чтобы изменять консольный codepage, используйте SetConsoleCP или функции SetConsoleOutputCP, или используйте chcp или жулика режима cp выбирать= команды.

Смотри Также

CHAR_INFO, COORD, ReadConsoleOutputAttribute, ReadConsoleOutputCharacter, SetConsoleCP, SetConsoleOutputCP, SMALL_RECT, WriteConsoleOutput


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz