``` HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE)``` 如何使用`hOut`句柄更改控制台文本颜色?
时间: 2024-12-10 12:12:05 浏览: 24
在Windows编程中,`GetStdHandle`函数用于获取标准输入、输出或错误的句柄。`STD_OUTPUT_HANDLE`是标准输出的句柄常量。获取到标准输出的句柄后,可以使用`SetConsoleTextAttribute`函数来更改控制台文本颜色。
以下是一个示例代码,展示了如何使用`hOut`句柄更改控制台文本颜色:
```cpp
#include <windows.h>
#include <iostream>
int main() {
// 获取标准输出的句柄
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
// 设置文本颜色为红色
SetConsoleTextAttribute(hOut, FOREGROUND_RED);
std::cout << "This text is red." << std::endl;
// 设置文本颜色为绿色
SetConsoleTextAttribute(hOut, FOREGROUND_GREEN);
std::cout << "This text is green." << std::endl;
// 设置文本颜色为蓝色
SetConsoleTextAttribute(hOut, FOREGROUND_BLUE);
std::cout << "This text is blue." << std::endl;
// 恢复默认颜色
SetConsoleTextAttribute(hOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
std::cout << "This text is back to default color." << std::endl;
return 0;
}
```
在这个示例中,`SetConsoleTextAttribute`函数的第二个参数使用了不同的颜色常量来设置文本颜色。`FOREGROUND_RED`、`FOREGROUND_GREEN`和`FOREGROUND_BLUE`分别表示红色、绿色和蓝色。你可以通过组合这些常量来设置混合颜色。
阅读全文