在C#中重新定义控制台调色板 [英] redefining Console colour palette in c#

查看:218
本文介绍了在C#中重新定义控制台调色板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能有人请告诉我怎么可以重新定义控制台的调色板在C#?

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

推荐答案

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

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

访问pinvoke.net或使用P / Invoke的互操作助理,以获得您的声明需要使用此代码。

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

这篇关于在C#中重新定义控制台调色板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆