GetConsoleScreenBufferInfo 函数

检索有关指定控制台屏幕缓冲区的信息。

语法

BOOL WINAPI GetConsoleScreenBufferInfo(
  _In_  HANDLE                      hConsoleOutput,
  _Out_ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
);

参数

hConsoleOutput [进]
控制台屏幕缓冲区的句柄。 该句柄必须具有 GENERIC_READ 访问权限。 有关详细信息,请参阅控制台缓冲区安全性和访问权限

lpConsoleScreenBufferInfo [out]
指向接收控制台 CONSOLE_SCREEN_BUFFER_INFO 信息的结构的指针。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError

备注

可以修改 CONSOLE_SCREEN_BUFFER_INFO 结构的 srWindow 成员中返回的矩形,然后传递给 SetConsoleWindowInfo 函数,以在窗口中滚动控制台屏幕缓冲区,以更改窗口的大小或同时更改两者。

CONSOLE_SCREEN_BUFFER_INFO 结构返回的所有坐标 位于字符单元格坐标中,其中原点 (0, 0) 位于控制台屏幕缓冲区的左上角。

提示

此 API 没有等效 的虚拟终端 。 对于尝试绘制列、网格或填充显示器以检索窗口大小的应用程序,可能仍然需要使用它。 此窗口状态由正常流流外部的 TTY/PTY/Pseudoconsole 管理,通常被视为客户端应用程序无法调整的用户特权。 可以在 ReadConsoleInput 上接收更新

示例

有关示例,请参阅 滚动屏幕缓冲区的窗口

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 ConsoleApi2.h (WinCon.h,包括 Windows.h)
Kernel32.lib
DLL Kernel32.dll

另请参阅

控制台函数

CONSOLE_SCREEN_BUFFER_INFO

GetLargestConsoleWindowSize

SetConsoleCursorPosition

SetConsoleScreenBufferSize

SetConsoleWindowInfo

窗口和屏幕缓冲区大小