SetConsoleTextAttribute设置颜色后的恢复

1、

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
	HANDLE handle;
	//WORD wOldColorAttrs;
	//CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
	handle = GetStdHandle(STD_OUTPUT_HANDLE);
	//GetConsoleScreenBufferInfo(handle, &csbiInfo);
	//wOldColorAttrs = csbiInfo.wAttributes;
	SetConsoleTextAttribute(handle, FOREGROUND_GREEN |    
		                            FOREGROUND_INTENSITY);
	puts("yes");

	SetConsoleTextAttribute(handle, FOREGROUND_RED |
									FOREGROUND_GREEN |
									FOREGROUND_BLUE);
	//SetConsoleTextAttribute(handle, wOldColorAttrs);
	puts("yes");
	return 0;
}


2、

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
	HANDLE handle;
	WORD wOldColorAttrs;
	CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
	handle = GetStdHandle(STD_OUTPUT_HANDLE);
	GetConsoleScreenBufferInfo(handle, &csbiInfo);
	wOldColorAttrs = csbiInfo.wAttributes;
	SetConsoleTextAttribute(handle, FOREGROUND_GREEN |    
		                            FOREGROUND_INTENSITY);
	puts("yes");

	/*SetConsoleTextAttribute(handle, FOREGROUND_RED |
									FOREGROUND_GREEN |
									FOREGROUND_BLUE);*/
	SetConsoleTextAttribute(handle, wOldColorAttrs);
	puts("yes");
	return 0;
}

BOOL WINAPI GetConsoleScreenBufferInfo(
  _In_   HANDLE hConsoleOutput,
  _Out_  PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
);
GetConsoleScreenBufferInfo function:Retrieves information about the specified console screen buffer.

posted @ 2013-09-16 18:51  N3verL4nd  阅读(1192)  评论(0编辑  收藏  举报