태그: GetStdHandle

 이번 강의는 콘솔 글자 색을 바꾸는 실습입니다.

 별다른 알고리즘은 없고 필요한 몇 개의 기술을 사용할 거예요.

 기술 사용 노하우를 들여다 보고 따라해 보는 것이라 크게 고민을 하실 필요는 없어요.

콘솔 글자 색 바꾸기

 콘솔의 글자 색을 바꾸기 위해 Windows API 함수를 사용할 수 있어요.

 Windows API와 같은 Native 기술을 사용할 때 DllImport 어튜리뷰트를 이용하여 외부에 있다는 것을 선언해 주어야 합니다. 

그리고 인자 형식이 BOOL, INT, DWORD 등은 int로 표현하세요.

WORD는 short 형식으로 표현하세요.

HANDLE이나 포인터 형식은 IntPtr로 표현하세요.

선언문에서 정적 멤버로 캡슐화하고 외부에 있는 것을 extern으로 나타냅니다.

매크로 상수는 const 멤버로 설정하세요. 

 여기에서 이러한 멤버들은 WrapAPI 클래스를 만들어서 래핑(Wrapping)할게요. 단순히 래핑 목적이라 정적 클래스로 정의하는 것을 권합니다. 그리고 외부에서 접근해서 사용할 수 있는 멤버 메서드를 만들어 위에 선언한 멤버를 사용할게요.

 이를 표현한 전체 코드입니다. 참고로 콘솔에서 사용할 수 있는 0~15까지의 색상 값을 열거형으로 정의했어요.

 이제 래핑한 WrapAPI SetConsoleTextColor 정적 메서드를 사용하면 끝입니다.

 낯선 기술을 사용하는 것은 두려울 수도 있지만 즐길 수 있다면 웃음을 줄 수도 있어요.