我正在尝试在运行时更改控制台应用程序中控制台字体的大小。
查看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'
我尝试使用GetConsoleFontEx
(FontWeight
和cbSize
被注释掉的原因)无法胜任。我也使用了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字体大小。 我怎么做?为什么这不起作用?