gitarossrac
gitarossrac

Reputation: 31

redefining Console colour palette in c#

Could somebody please tell me how can I redefine the colour palette of the Console in C#?

Upvotes: 3

Views: 1205

Answers (1)

Hans Passant
Hans Passant

Reputation: 941485

Yeah, it's possible. You'll need a bunch of P/Invoke declarations to use code like this:

CONSOLE_SCREEN_BUFFER_INFOEX info;
info.cbSize = sizeof(info);
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfoEx(hConsole, &info);
info.ColorTable[14] = RGB(255, 128, 0);  // Replace yellow
SetConsoleScreenBufferInfoEx(hConsole, &info);
SetConsoleTextAttribute(hConsole, FOREGROUNDINTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);

Visit pinvoke.net or use the P/Invoke Interop Assistant to get the declarations you need to use this code.

Upvotes: 10

Related Questions