我使用SetConsoleDisplayMode()将控制台切换到全屏模式。它是80x25,中间是一个非常小的字体,我想放大。
我仍在使用WinXP,因此SetCurrentConsoleFontEx()不适合我。我发现this link描述了一些未记录的函数,包括SetConsoleFont()
。它们工作得很好:GetNumberOfConsoleFonts()
在我的系统上返回9个可用字体,我可以选择一些,但是在全屏0下找到了字体,这意味着它不受支持。
我还尝试创建程序的快捷方式并在那里设置控制台,但没有全屏选项,切换到全屏后,所有字体设置都被丢弃。
我想说服屏幕显示漂亮的大文字字体,就像在科幻电影或旧的BIOS汇编代码中一样。在XP下可以吗?
答案 0 :(得分:2)
全屏控制台模式将显示适配器切换为80x25 VGA文本模式。
因此字体渲染完全不同。在普通的控制台窗口中,使用GDI呈现字体;在全屏模式下,Windows将字符代码写入显示缓冲区,硬件将呈现字体。
VGA支持可加载字体,Windows使用此功能来支持其不同语言版本。我不记得该字体是否由Windows的语言版本修复,或者是否选择与当前代码页匹配。 (全屏模式在x64上不起作用,我没有32位系统可以试用。)
我不知道你在使用的VGA字体中有任何选择,尽管在字体目录中覆盖VGA字体可能有一些里程。虽然显然这不是你想要在制作中做的事情。
最后,可以使用实际的DOS应用程序更改字体!我知道Windows NT会捕获一些与视频相关的IO并将它们传递给硬件。但这并没有多大用处。
答案 1 :(得分:1)
您是否尝试写出GetLastError()
?我的意见是,这不适用于Windows 7或更高版本。
也许你可以试试这个:#define _WIN32_WINNT 0x0601
干杯!