#include <windows.h>
Cursor position struct
COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:
typedef struct _COORD {
SHORT X; // horizontal coordinate
SHORT Y; // vertical coordinate
} COORD;
Cursor attribute(光标的属性)
typedef struct _CONSOLE_CURSOR_INFO、
{
DWORD dwSize;// 光标百分比厚度(1~100)
BOOL bVisible;// 是否可见
} CONSOLE_CURSOR_INFO
Get std handle
GetStdHandle是一个Windows API函数。它用于从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄。
GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。
函数形式:
HANDLE GetStdHandle( DWORD nStdHandle );
其参数nStdHandle的值为下面几种类型的一种:
值 | 含义 |
STD_INPUT_HANDLE | 标准输入的句柄 |
STD_OUTPUT_HANDLE | 标准输出的句柄 |
set cursor position
SetConsoleCursorPosition是API中定位光标位置的函数。
实例:
/*用于得到标准输出的语柄,通过操作语柄对光标进行设置;*/
HANDLE hOut;
COORD pos={15,5};
hOut=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut,pos);
Get console cursor information
GetConsoleCursorInfo 函数
检索有关指定的控制台屏幕缓冲区的光标的可见性和大小信息。
语法
BOOL WINAPI GetConsoleCursorInfo(
__in HANDLE hConsoleOutput,
__out PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
);
hConsoleOutput
控制台屏幕缓冲区的句柄。该句柄必须具有的 GENERIC_READ 的访问权限。
lpConsoleCursorInfo
指向接收有关该控制台的光标的信息的CONSOLE_CURSOR_INFO结构的指针。
Set console color
SetConsoleTextAttribute是API设置控制台窗口字体颜色和背景色的函数。
BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);
wAttributes是用来设置颜色的参数:
wAttributes | 颜色 | 对应的值 |
FOREGROUND_BLUE | 字体颜色:蓝 | 1 |
FOREGROUND_GREEN | 字体颜色:绿 | 2 |
FOREGROUND_RED | 字体颜色:红 | 4 |
FOREGROUND_INTENSITY | 前景色高亮显示 | 8 |
BACKGROUND_BLUE | 背景颜色:蓝 | 16 |
BACKGROUND_GREEN | 背景颜色:绿 | 32 |
BACKGROUND_RED | 背景颜色:红 | 64 |
BACKGROUND_INTENSITY | 背景色高亮显示 | 128 |
也就是说SetConsoleTextAttribute函数是靠一个字节的低四来控制前景色,高四位来控制背景色。
Check keyboard hit
kbhit是一个函数,可以用来检查当前是否有键盘输入。
getch() 在执行时,检测按下什么键,如果不按键该函数不返回;是阻塞函数。
用 法:int kbhit(void);
包含头文件: include <conio.h>