@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: TODO - a short description !!!!C# Signature: [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] extern static bool GetCurrentConsoleFontEx( IntPtr hConsoleOutput, bool bMaximumWindow, ref CONSOLE_FONT_INFOEX lpConsoleCurrentFont); !!!!VB Signature: Declare Function GetCurrentConsoleFontEx Lib "kernel32.dll" (TODO) As TODO !!!!User-Defined Types: C# [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; } 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 !!!!Tips & Tricks: Please add some! !!!!Sample Code: using System.Runtime.InteropServices; using System; namespace Win32test { class ConsoleTest { [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] extern static bool GetCurrentConsoleFontEx( IntPtr hConsoleOutput, bool bMaximumWindow, ref CONSOLE_FONT_INFOEX lpConsoleCurrentFont); private enum StdHandle { OutputHandle = -11 } [DllImport("kernel32")] private static extern IntPtr GetStdHandle(StdHandle index); static void Main(string[] args) { // Instantiating CONSOLE_FONT_INFOEX and setting cbsize CONSOLE_FONT_INFOEX ConsoleFontInfo = new CONSOLE_FONT_INFOEX(); ConsoleFontInfo.cbSize = (uint)Marshal.SizeOf(ConsoleFontInfo); GetCurrentConsoleFontEx(GetStdHandle(StdHandle.OutputHandle), false, ref ConsoleFontInfo); // 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; } } } Documentation: GetCurrentConsoleFontEx@msdn on MSDN
Edit kernel32.GetCurre...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.