我正在尝试在运行时更改控制台应用程序中控制台字体的大小。
查看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 字体大小。 我怎么做?为什么这不起作用?
我也遇到过同样的问题,我相信问题在于我安装了 gcc 和 MinGW。
起初我的代码编译得很好而且很完美,我决定更新我的 MinGW 数据库并安装了 pthreads.h,一旦我这样做了,甚至没有对我的代码做任何事情,所有 windows.h 函数和 #define 都无法使用。
我通过 MinGW 重新安装了 gcc ,甚至尝试使用 g++ 进行编译;一切都是为了不。我在另一个文件夹中创建了一个新文件,确保我的包含文件正确,并确保我已建立并解释了包含文件及其依赖项;与之前的结果相同。
最后,我疯了,卸载了MinGW然后走了,然后我想起了MinGW的更年轻/更新的型号:MSYS2。我从“https://www.msys2.org/wiki/MSYS2-installation/”安装了 MSYS2 并使用 pacman,确保一切都是最新的,并在控制面板中重置了环境变量并重新编译;幸福。
不过,您需要确保您的代码是否使用适用于 x86 或 Win32 的代码编写,然后您需要将代码转换为适用于 64 的其他结构。
您可能不需要走到我旅程的最后一步来修复这个恼人的错误,因为您可以比我结束的地方提前几步解决它。