00. 目录


文章目录


  • 00. 目录
  • 01. GetConsoleTitle函数
  • 02. SetConsoleTitle函数
  • 03. SetConsoleScreenBufferSize函数
  • 04. SetConsoleWindowInfo函数



01. GetConsoleTitle函数

获取当前控制台标题

函数声明

DWORD WINAPI GetConsoleTitle(
_Out_ LPTSTR lpConsoleTitle,
_In_ DWORD nSize
);
功能:
获取当前控制台标题

参数:
lpConsoleTitle 指向缓冲区的指针,该缓冲区接收包含标题的以null结尾的字符串。如果缓冲区太小而无法存储标题,则该函数将存储符合缓冲区的标题字符,以空终止符结束。

nSize 指向的缓冲区大小,以字符为单位。

返回值:
如果函数成功,则返回值是控制台窗口标题的长度(以字符为单位)。

如果函数失败,则返回值为零,GetLastError返回错误代码。

参考代码:

char buf[255] = { 0 };
//获取当前窗口标题
GetConsoleTitle(buf, 255);
printf("当前窗口标题为: %s\n", buf);

官方参考网址:https://docs.microsoft.com/en-us/windows/console/getconsoletitle

02. SetConsoleTitle函数

设置当前控制台窗口标题

函数声明:

BOOL WINAPI SetConsoleTitle(
_In_ LPCTSTR lpConsoleTitle
);
功能:
设置当前控制台窗口标题

参数:
lpConsoleTitle 要在控制台窗口的标题栏中显示的字符串。总大小必须小于64K。

返回值:
如果函数成功,则返回值为非零值。
如果函数失败,则返回值为零。要获取扩展错误信息,请调用GetLastError。


注意​: 当进程终止时,系统将恢复原始控制台标题。


参考代码:

SetConsoleTitle("神马程序员");
//获取当前窗口标题
GetConsoleTitle(buf, 255);
printf("当前窗口标题为: %s\n", buf);

官方参考网址:https://docs.microsoft.com/en-us/windows/console/setconsoletitle

03. SetConsoleScreenBufferSize函数

设置指定控制台屏幕缓冲区的大小。

函数声明:

BOOL WINAPI SetConsoleScreenBufferSize(
_In_ HANDLE hConsoleOutput,
_In_ COORD dwSize
);

功能:
设置指定控制台屏幕缓冲区的大小。

参数:
hConsoleOutput 控制台屏幕缓冲区的句柄。句柄必须具有GENERIC_READ访问权限。
dwSize 指定控制台屏幕缓冲区的新的大小,在字符行和列。指定的宽度和高度不能小于控制台屏幕缓冲区窗口的宽度和高度。指定的尺寸也不能小于系统允许的最小尺寸。此最小值取决于控制台的当前字体大小(由用户选择)以及GetSystemMetrics函数返回的SM_CXMIN和SM_CYMIN值。

返回值:
如果函数成功,则返回值为非零值。
如果函数失败,则返回值为零。要获取扩展错误信息,请调用GetLastError。

参考代码:

COORD size = {80, 80};
//获取标准输出句柄
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
//设置控制台缓冲区大小
SetConsoleScreenBufferSize(hOut, size);

官方参考网址:https://docs.microsoft.com/en-us/windows/console/setconsolescreenbuffersize

04. SetConsoleWindowInfo函数

设置控制台屏幕缓冲区窗口的当前大小和位置。

函数声明:

BOOL WINAPI SetConsoleWindowInfo(
_In_ HANDLE hConsoleOutput,
_In_ BOOL bAbsolute,
_In_ const SMALL_RECT *lpConsoleWindow
);

功能:
设置控制台屏幕缓冲区窗口的当前大小和位置。

参数:
hConsoleOutput 控制台屏幕缓冲区的句柄。句柄必须具有GENERIC_READ访问权限。
bAbsolute 如果此参数为TRUE,则坐标指定窗口的新左上角和右下角。如果为FALSE,则坐标相对于当前窗口角坐标。
lpConsoleWindow 指向SMALL_RECT结构的指针,该结构指定窗口的新左上角和右下角。

返回值:
如果函数成功,则返回值为非零值。
如果函数失败,则返回值为零。要获取扩展错误信息,请调用GetLastError。

参考代码:

COORD size = {40, 20};
SetConsoleScreenBufferSize(hOut, size);

SMALL_RECT rect = { 0, 0, 40 - 1, 20 - 1 };
SetConsoleWindowInfo(hOut, 1, &rect);

官方参考网址:https://docs.microsoft.com/en-us/windows/console/setconsolewindowinfo