如何更改命令行程序的标题和背景颜色

时间:2010-08-14 21:21:05

标签: windows command-line

是否可以更改编译的命令行程序的背景颜色和标题文本?
我没有源文件。

2 个答案:

答案 0 :(得分:1)

如果它是一个只在cli上运行而不使用ncurses等外部库的应用程序,那应该相当容易。为此,您只需更改终端的颜色即可。

与我认为的Windows第一版以来的标准command.com终端一样,你只需要使用谷歌。有很多搜索结果,例如http://www.daniweb.com/forums/thread15790.html。 使用Windows 7中包含的新Windows power shell,解决方案应该完全相同。

如果应用程序使用像ncurses这样的库,则无法在没有逆向工程的情况下更改颜色。

答案 1 :(得分:1)

如果您需要在目标程序运行后执行此操作,可以从其他进程设置该控制台的标题和颜色:

::FreeConsole();
::AttachConsole(pidOfTarget);
::SetConsoleTitle(_T("aaaaaaaaaaa"));
::SetConsoleTextAttribute(
    ::GetStdHandle(STD_OUTPUT_HANDLE),
    BACKGROUND_BLUE | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN);