【发布时间】:2010-07-10 14:27:04
【问题描述】:
谁能告诉我如何在 C# 中重新定义控制台的调色板?
【问题讨论】:
标签: c#
谁能告诉我如何在 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 获取使用此代码所需的声明。
【讨论】: