How to remove line spacing in C # console?
1 answer
Everything is possible through WinAPI!
Here is the program:
[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, CharSet=CharSet.Unicode)] public class CONSOLE_FONT_INFO_EX { public CONSOLE_FONT_INFO_EX() { cbSize = Marshal.SizeOf<CONSOLE_FONT_INFO_EX>(); } public int cbSize; public int nFont; public COORD dwFontSize; public int FontFamily; public int FontWeight; [MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)] public string FaceName; } class Program { [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] extern static bool GetCurrentConsoleFontEx( IntPtr hConsoleOutput, bool bMaximumWindow, [In, Out] CONSOLE_FONT_INFO_EX lpConsoleCurrentFont); [DllImport("kernel32.dll", SetLastError = true)] static extern bool SetCurrentConsoleFontEx( IntPtr ConsoleOutput, bool MaximumWindow, CONSOLE_FONT_INFO_EX ConsoleCurrentFontEx ); [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr GetStdHandle(int dwType); static void Main(string[] args) { Console.WriteLine("Hello, I am console output"); const int STD_OUTPUT_HANDLE = -11; IntPtr handle = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_FONT_INFO_EX fi = new CONSOLE_FONT_INFO_EX(); var result = GetCurrentConsoleFontEx(handle, false, fi); if (!result) return; Console.WriteLine("Now font is " + fi.FaceName + " setting to Lucida Console"); fi.FaceName = "Lucida Console"; result = SetCurrentConsoleFontEx(handle, false, fi); if (!result) return; Console.WriteLine("Hello, I am console output with new font"); } } gives the result:

- Thank! everything is working! - Mikhail Znak
- @MikhailZnak: Please! - VladD
|