private static Size GetConsoleFontSize()
        {
            // getting the console out buffer handle
            IntPtr outHandle = CreateFile("CONOUT$", GENERIC_READ | GENERIC_WRITE,
                                          FILE_SHARE_READ | FILE_SHARE_WRITE,
                                          IntPtr.Zero,
                                          OPEN_EXISTING,
                                          0,
                                          IntPtr.Zero);
            int errorCode = Marshal.GetLastWin32Error();

            if (outHandle.ToInt32() == INVALID_HANDLE_VALUE)
            {
                throw new IOException("Unable to open CONOUT$", errorCode);
            }

            ConsoleFontInfo cfi = new ConsoleFontInfo();

            if (!GetCurrentConsoleFont(outHandle, false, cfi))
            {
                throw new InvalidOperationException("Unable to get font information.");
            }

            return(new Size(cfi.dwFontSize.X, cfi.dwFontSize.Y));
        }
Esempio n. 2
0
    public static ConsoleFontInfo GetConsoleFont()
    {
        ConsoleFontInfo ex = default;

        ex.cbSize = (uint)Marshal.SizeOf <ConsoleFontInfo>();

        GetCurrentConsoleFontEx(GetStdHandle(StandardHandle.STD_OUTPUT_HANDLE), false, ref ex);
        return(ex);
    }
Esempio n. 3
0
    public static void SetConsoleFont(string name, short y,
                                      FontFamily ff = FontFamily.FF_DONTCARE,
                                      FontWeight fw = FontWeight.FW_NORMAL)
    {
        ConsoleFontInfo ex = default;

        ex.FontFamily   = ff;
        ex.FontWeight   = fw;
        ex.FaceName     = name;
        ex.dwFontSize.X = 0;
        ex.dwFontSize.Y = y;

        SetConsoleFont(ex);
    }
Esempio n. 4
0
 public static extern bool GetCurrentConsoleFont(IntPtr hOut, bool bMaximumWnd, out ConsoleFontInfo ConsoleCurrentFont);
 private static extern bool GetCurrentConsoleFont(
     IntPtr hConsoleOutput,
     bool bMaximumWindow,
     [Out][MarshalAs(UnmanagedType.LPStruct)] ConsoleFontInfo lpConsoleCurrentFont);
Esempio n. 6
0
    public static void SetConsoleFont(ConsoleFontInfo ex)
    {
        ex.cbSize = (uint)Marshal.SizeOf <ConsoleFontInfo>();

        SetCurrentConsoleFontEx(GetStdHandle(StandardHandle.STD_OUTPUT_HANDLE), false, ref ex);
    }
Esempio n. 7
0
		internal static extern bool GetCurrentConsoleFont(
			IntPtr hConsoleOutput,
			bool bMaximumWindow,
			out ConsoleFontInfo lpConsoleCurrentFont);
Esempio n. 8
0
 public static extern bool SetCurrentConsoleFontEx(IntPtr hConsoleOutput, bool bMaximumWindow,
                                                   ref ConsoleFontInfo lpConsoleCurrentFont);
Esempio n. 9
0
 public static extern bool GetCurrentConsoleFont(IntPtr hOut, bool bMaximumWnd, out ConsoleFontInfo ConsoleCurrentFont);