GetConsoleScreenBufferInfo 函数

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

语法

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

参数

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

lpConsoleScreenBufferInfo [out]
指向 CONSOLE_SCREEN_BUFFER_INFO 结构的指针,该结构可接收控制台屏幕缓冲区信息。

返回值

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

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

注解

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

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

提示

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

示例

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

要求

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

另请参阅

控制台函数

CONSOLE_SCREEN_BUFFER_INFO

GetLargestConsoleWindowSize

SetConsoleCursorPosition

SetConsoleScreenBufferSize

SetConsoleWindowInfo

窗口和屏幕缓冲区大小