c\#콘 솔 에 컬러 문 자 를 출력 하 는 방법

“Hello World!”프로그램 이 많이 썼 지만 검은색 배경 콘 솔 에 흰색 글 자 를 표시 합 니 다.이번 에는"Hello World!"색 으로 변 한 글자.
예제 코드 는 다음 과 같다.

using System;
using System.Runtime.InteropServices;

[assembly:CLSCompliant(true)]
namespace ColorConsole
{
    public sealed class HelloWorld
    {
        private HelloWorld() { }

        public static void Main()
        {
            const UInt32 STD_OUTPUT_HANDLE = unchecked((UInt32)(-11));
            IntPtr consoleHandle = NativeMethods.GetStdHandle(STD_OUTPUT_HANDLE);

            string s = "Hello World!";

            for (int i = 0; i < s.Length; i++)
            {
                NativeMethods.SetConsoleTextAttribute(consoleHandle, (ushort)(i + 1));
                Console.Write(s[i]);
            }

            Console.ReadLine();
        }
    }

    class NativeMethods
    {
        private NativeMethods() { }

        [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public static extern IntPtr GetStdHandle(UInt32 type);

        [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        [return: MarshalAs(UnmanagedType.U1)]
        public static extern bool SetConsoleTextAttribute(IntPtr consoleHandle, ushort attributes);  
    }
}

주로 사용 하 는 방법 은 GetStdHandle 과 SetConsoleTextAttribute 입 니 다.전 자 는 콘 솔 의 핸들 을 얻 고 후 자 는 콘 솔 의 텍스트 색 을 설정 합 니 다.
순환 문 구 는 문자열 의 모든 문 자 를 다른 색 으로 설정 하고 하나씩 표시 하 며 최종 적 으로 한 줄 의 컬러 문자 가 됩 니 다.
코드 의 실제 용도 에 대해 서 는 콘 솔 에서 로 그 를 출력 할 때 도움 이 될 수 있 을 것 같 습 니 다.특히 서로 다른 유형의 로 그 를 눈 에 띄 게 표시 해 야 한다.예 를 들 어 오류,경고,정보 형식의 로 그 를 각각 빨간색,노란색 과 일반적인 흰색 으로 구별 할 수 있다.

좋은 웹페이지 즐겨찾기