在Windows 10上设置C中的控制台字体

时间:2017-07-27 21:52:23

标签: c windows winapi windows-console

我正在尝试在运行时更改控制台应用程序中控制台字体的大小。

查看Windows文档,我发现了以下功能: GetCurrentConsoleFont(和GetCurrentConsoleFontEx) 和SetCurrentConsoleFontEx

CONSOLE_FONT_INFO prevFontInfo = {sizeof(prevFontInfo)};
GetCurrentConsoleFont( GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &prevFontInfo 
);

CONSOLE_FONT_INFO fontInfo = {0};
//fontInfo.cbSize = sizeof(prevFontInfo);
fontInfo.dwFontSize.X = 30;
fontInfo.dwFontSize.Y = 70;
//fontInfo.FontWeight = 700;

SetCurrentConsoleFontEx( GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &fontInfo );

... (Some Irrelevant Code Here)

SetCurrentConsoleFontEx( GetStdHandle(STD_OUTPUT_HANDLE), FALSE, 
&prevFontInfo );

目前我收到以下警告:

  

隐式声明函数' GetCurrentConsoleFont'

  

隐式声明函数' SetCurrentConsoleFont'

我尝试使用GetConsoleFontExFontWeightcbSize被注释掉的原因)无法胜任。我也使用了CONSOLE_FONT_INFOEX,这导致了以下错误:

  

未知类型名称' CONSOLE_FONT_INFOEX'

我读到有必要使用以下内容:

#define _WIN32_WINNT 0x0500

我也尝试了几种变体(0x0502,0x0600,等等),但似乎没有任何改变警告/错误。

我包含以下windows标头,我使用-lkernel32进行编译。

#define _WIN32_WINNT 0x0500

#include <windows.h>
#include <Wincon.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

我希望在运行时更改Windows终端的C字体大小。 我怎么做?为什么这不起作用?

0 个答案:

没有答案