Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than kernel32, prefix the name with the module name and a period.
Declare Function GetCurrentConsoleFontEx Lib "kernel32.dll" (TODO) As TODO
User-Defined Types:
C#
[StructLayout(LayoutKind.Sequential)]
private struct COORD
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class CONSOLE_FONT_INFOEX
{
private int cbSize;
public CONSOLE_FONT_INFOEX()
{
public short X;
public short Y;
public COORD(short x, short y)
{
X = x;
Y = y;
}
cbSize = Marshal.SizeOf(typeof(CONSOLE_FONT_INFOEX));
}
public int FontIndex;
public short FontWidth;
public short FontHeight;
public int FontFamily;
public int FontWeight;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string FaceName;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
private struct CONSOLE_FONT_INFOEX
{
public uint cbSize;
public uint nFont;
public COORD dwFontSize;
public int FontFamily;
public int FontWeight;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string FaceName;
}
You MUST set cbSize with Marshal.SizeOf using the instance of CONSOLE_FONT_INFO_EX.
Alternative Managed API:
Do you know one? Please contribute it!
Notes:
Minimum supported client: Windows Vista
// Untested, added during 1-pass copy & paste of windows console fuctions
Tips & Tricks:
Please add some!
Sample Code:
using System.Runtime.InteropServices;
using System;
// Printing the results
Console.WriteLine($"Font size is: x: {ConsoleFontInfo.dwFontSize.X} y: {ConsoleFontInfo.dwFontSize.Y}");
Console.WriteLine($"Font name is: {ConsoleFontInfo.FaceName}");
Console.WriteLine($"Fontfamily is: {ConsoleFontInfo.FontFamily}");
Console.WriteLine($"Fontweight is: {ConsoleFontInfo.FontWeight}");
Console.WriteLine($"Font index is: {ConsoleFontInfo.nFont}");
Console.ReadKey();
}
[StructLayout(LayoutKind.Sequential)]
private struct COORD
{
public short X;
public short Y;
public COORD(short x, short y)
{
X = x;
Y = y;
}
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
private struct CONSOLE_FONT_INFOEX
{
public uint cbSize;
public uint nFont;
public COORD dwFontSize;
public int FontFamily;
public int FontWeight;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string FaceName;
}
}
}
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).