在c#中重新定义控制台调色板

有人可以告诉我如何在C#中重新定义控制台的调色板?

是的,这是可能的。 你需要一堆P / Invoke声明来使用这样的代码:

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); 

访问pinvoke.net或使用P / Invoke Interop Assistant获取使用此代码所需的声明。