ReadConsoleOutputAttribute功能从指定位置开始,从控制台屏幕缓冲区的连续单元格中复制指定数量的前景和背景颜色属性。
BOOL ReadConsoleOutputAttribute(
HANDLE 【hConsoleOutput】, | //控制台屏幕缓冲区的句柄 |
LPWORD 【lpAttribute】, | //接收属性缓冲区的地址 |
DWORD 【nLength】, | //要读取的字符数组数 |
COORD 【dwReadCoord】, | //要读取的第一个单元格的坐标 |
LPDWORD 【lpNumberOfAttrsRead】 | //读取单元格数的地址 |
); |
参数
【hConsoleOutput】
标识控制台屏幕缓冲区。句柄必须具有GENERIC_READ权限。
【lpAttribute】
指向缓冲区,接收从屏幕缓冲区读取的属性。
【nLength】
指定要读取的屏幕缓冲区字符单元格数。【lpAttribute】参数指向的缓冲区的大小应为【nLength】 * sizeof(WORD)。
【dwReadCoord】
指定要读取的屏幕缓冲区中第一个单元格的坐标。COORD结构的X成员是列,Y成员是该行。
【lpNumberOfAttrsRead】
指向接收实际读取的属性数量的32位变量。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果要读取的属性数量超出指定的屏幕缓冲区行的末尾,则从下一行读取属性。如果要读取的属性数量超出屏幕缓冲区的结尾,则会读取屏幕缓冲区末尾的属性。
每个属性指定绘制该字符单元格的前景(文本)和背景颜色。属性值是以下值的一些组合:FOREGROUND_BLUE,FOREGROUND_GREEN,FOREGROUND_RED,FOREGROUND_INTENSITY,BACKGROUND_BLUE,BACKGROUND_GREEN,BACKGROUND_RED和BACKGROUND_INTENSITY。例如,以下值的组合在白色背景上产生红色文本:
FOREGROUND_RED | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
也可以看看
COORD, ReadConsoleOutput, ReadConsoleOutputCharacter, WriteConsoleOutput, WriteConsoleOutputAttribute, WriteConsoleOutputCharacter