[DllImport("kernel32.dll", SetLastError = true)]
static extern bool SetCurrentConsoleFontEx(
IntPtr ConsoleOutput,
bool MaximumWindow,
CONSOLE_FONT_INFO_EX ConsoleCurrentFontEx
);
<DllImport("kernel32.dll")>
Public Shared Function SetCurrentConsoleFontEx(ConsoleOutput As IntPtr, MaximumWindow As Boolean, ConsoleCurrentFontEx As CONSOLE_FONT_INFO_EX) As Boolean
End Function
[StructLayout(LayoutKind.Sequential)]
public struct COORD
{
public short X;
public short Y;
public COORD(short X, short Y)
{
this.X = X;
this.Y = Y;
}
};
[StructLayout(LayoutKind.Sequential)]
public struct CONSOLE_FONT_INFO_EX
{
public uint cbSize;
public uint nFont;
public COORD dwFontSize;
public ushort FontFamily;
public ushort FontWeight;
fixed char FaceName[32]; // this will require the assembly to be unsafe
}
Or alternatively if you can't afford unsafe assemblies
[StructLayout(LayoutKind.Sequential)]
public struct CONSOLE_FONT_INFO_EX
{
public uint cbSize;
public uint nFont;
public COORD dwFontSize;
public ushort FontFamily;
public ushort FontWeight;
UInt64 face0, face1, face2, face3, face4, face5, face6, face7;
}
<StructLayout(LayoutKind.Sequential)>
Public Structure COORD
Public X As Short
Public Y As Short
Public Sub New(X As Short, Y As Short)
Me.X = X
Me.Y = Y
End Sub
End Structure
<StructLayout(LayoutKind.Sequential)>
Public Structure CONSOLE_FONT_INFO_EX
Public cbSize As UInteger
Public nFont As UInteger
Public dwFontSize As COORD
Public FontFamily As UShort
Public FontWeight As UShort
Public face0, face1, face2, face3, face4, face5, face6, face7 As UInt64
End Structure
Do you know one? Please contribute it!
// Untested, added during 1-pass copy & paste of windows console fuctions
When on Windows XP, kernel32 does NOT support SetCurrentConsoleFontEx and cannot be used. It will throw an error saying entry point not found because of this.
Minimum supported client: Windows Vista
Please add some!
Please add some!