■ SetCurrentConsoleFontEx API 함수를 선언하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
using System; using System.Runtime.InteropServices; #region 현재 콘솔 폰트 설정하기 (확장) - SetCurrentConsoleFontEx(consoleOutputHandle, maximumWindow, fontInfo) /// <summary> /// 현재 콘솔 폰트 설정하기 (확장) /// </summary> /// <param name="consoleOutputHandle">콘솔 출력 핸들</param> /// <param name="maximumWindow">최대 윈도우 여부</param> /// <param name="fontInfo">폰트 정보</param> /// <returns>처리 결과</returns> [return: MarshalAs(UnmanagedType.Bool)] [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)] private static extern bool SetCurrentConsoleFontEx(IntPtr consoleOutputHandle, bool maximumWindow, ref FontInfo fontInfo); #endregion /// <summary> /// 폰트 정보 /// </summary> [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public struct FontInfo { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Public #region Field /// <summary> /// 크기 /// </summary> public int Size; /// <summary> /// 폰트 인덱스 /// </summary> public int FontIndex; /// <summary> /// 폰트 너비 /// </summary> public short FontWidth; /// <summary> /// 폰트 크기 /// </summary> public short FontSize; /// <summary> /// 폰트 패밀리 /// </summary> public int FontFamily; /// <summary> /// 폰트 가중치 /// </summary> public int FontWeight; /// <summary> /// 폰트명 /// </summary> [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string FontName; #endregion } |