[DllImport("kernel32.dll")]
static extern bool GetCurrentConsoleFont(
IntPtr hConsoleOutput,
bool bMaximumWindow,
out CONSOLE_FONT_INFO lpConsoleCurrentFont);
[StructLayout(LayoutKind.Sequential)]
public struct CONSOLE_FONT_INFO
{
public int nFont;
public Coord dwFontSize;
}
Do you know one? Please contribute it!
None.
Here's a method that uses this method in conjunction with GetConsoleFontSize to return the size of the currently selected console font.
private Coord GetCurrentFontSize()
{
//Need to use reflection to obtain pointer to the console output buffer
Type consoleType = typeof(Console);
IntPtr _consoleOutputHandle = (IntPtr)consoleType.InvokeMember(
"_consoleOutputHandle",
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.GetField,
null,
null,
null);
//Obtain the current console font index
CONSOLE_FONT_INFO currentFont;
bool success = GetCurrentConsoleFont(
_consoleOutputHandle,
false,
out currentFont);
//Use that index to obtain font size
Coord coord = GetConsoleFontSize(_consoleOutputHandle, currentFont.nFont);
return coord;
}