HANDLE句柄初识和颜色相关

来源:互联网 发布:医院数据质量分析报告 编辑:程序博客网 时间:2024/05/29 02:32
#include <windows.h> //HANDLE(句柄) 和颜色需要用到的头文件int main(){HANDLE consolehwnd; //创建句柄,详细句柄知识,请百度一下或查MSDNconsolehwnd = GetStdHandle(STD_OUTPUT_HANDLE); //实例化句柄SetConsoleTextAttribute(consolehwnd, FOREGROUND_RED);//设置字体颜色printf("hello ");SetConsoleTextAttribute(consolehwnd, FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED);//颜色可以叠加红加绿得到黄色,FOREGROUND_INTENSITY代表前景色高亮printf("world!\n");getchar();SetConsoleTextAttribute(consolehwnd, BACKGROUND_INTENSITY | BACKGROUND_BLUE);//设置背景色和背景色高亮printf("It is really beautiful!\n");return 0;}/*HANDLE(句柄)是Windows操作系统中的一个概念。在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。句柄指的是一个核心对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。句柄列表:每个进程都要创建一个句柄列表,这些句柄指向各种系统资源,比如信号量,线程,和文件等,进程中的所有线程都可以访问这些资源。无效的返回值为: INVALID_HANDLE_VALUE*/

关于颜色我想多说几句:

颜色也可以用int值表示,1=蓝色,2=绿色,4= 红色 ,其他颜色由这三原色叠加而成,比如:黄色= 红色+绿色 =4+2 = 6;白色= 红色+绿色+蓝色=4+2+1=7;

Windows颜色是用16进制数表示的,下面是API相关:

ValueMeaning FOREGROUND_BLUE 0x0001

Text color contains blue.

 FOREGROUND_GREEN 0x0002

Text color contains green.

 FOREGROUND_RED 0x0004

Text color contains red.

 FOREGROUND_INTENSITY 0x0008

Text color is intensified.

 BACKGROUND_BLUE 0x0010

Background color contains blue.

 BACKGROUND_GREEN 0x0020

Background color contains green.

 BACKGROUND_RED 0x0040

Background color contains red.

 BACKGROUND_INTENSITY 0x0080

Background color is intensified.

 COMMON_LVB_LEADING_BYTE 0x0100

Leading byte.

 COMMON_LVB_TRAILING_BYTE 0x0200

Trailing byte.

 COMMON_LVB_GRID_HORIZONTAL 0x0400

Top horizontal

 COMMON_LVB_GRID_LVERTICAL 0x0800

Left vertical.

 COMMON_LVB_GRID_RVERTICAL 0x1000

Right vertical.

 COMMON_LVB_REVERSE_VIDEO 0x4000

Reverse foreground and background attribute.

 COMMON_LVB_UNDERSCORE 0x8000

Underscore.


原创粉丝点击