【发布时间】:2016-03-02 17:59:19
【问题描述】:
如何确保命令提示符的当前字体在运行时是默认的光栅字体? 我正在使用 C++ 和 WinApi。
目前我使用了GetConsoleFontEx(); 和SetConsoleFontEx();,但我无法为CONSOLE_FONT_INFOEX 的FaceName 属性找到正确的值。我在网上找到了一些字体设置为 Lucida 和/或 Consolas 的示例,但这不是我想要的。
这是我当前代码的 sn-p:
COORD fs = {8, 8};
CONSOLE_FONT_INFOEX cfie = {0};
cfie.cbSize = sizeof(cfie);
GetCurrentConsoleFontEx(hOut, 0, &cfie);
char fn[] = "Raster"; // Not really doing anything
strcpy_s((char*)cfie.FaceName, 32, fn); // Not sure if this is right
cfie.dwFontSize.X = fs.X;
cfie.dwFontSize.Y = fs.Y;
SetCurrentConsoleFontEx(hOut, 0, &cfie);
我测试了SetCurrentConsoleFontEx()的返回值,非零,表示调用成功。不过字体没有变化。
【问题讨论】:
标签: c++ c windows winapi console