컴파일 하는 시점에 실행파일 아이콘 변경하기

간혹 컴파일 하는 시점에 실행 파일의 아이콘을 다른 아이콘으로 변경하고자 하는 경우가 있다.
저 같은 경우는 업체별로 실행파일의 아이콘을 달리하여야 할 경우인데.. 이 때 아래와 같이
해 주면 된다.

우선 VC++ 프로젝트에서 .rc 파일의 ICON 섹션을 보면 아래와 같은 내용이 있다.

Icon with lowest ID value placed first to ensure application icon remains consistent on all systems.

아이콘중에서 가장 낮은 리소스 ID를 가진 아이콘이 실행파일 아이콘으로 된다는 내용인데… 따라서 실행파일의 아이콘을 컴파일 시점에 변경하려면 해당 아이콘의 리소스 ID를 가장 낮게 변경하면 된다. 하지만 이 방법으로 해서 .rc 파일이나 resource.h 파일을 조건부 컴파일 상수를 둬서 해 보았으나, 프로젝트가 저장될 때 수정한 내용이 사라지고 다시 덮어써지는 문제가 있어서 이 방법은 안되었다.

그래서 다시 찾은 방법이… 아래와 같다… 우선 아래의 링크를 참조하자.

http://msdn.microsoft.com/ko-kr/library/6e7446zd(VS.80).aspx

컴파일 타임에 다른 리소스를 포함하는 내용이다. 해당 리소스를 만들고 전처리기를 두면 해결된다.

#ifdef _COMPANY_HI_SEOUL_
#undef IDI_APP_DEFAULT
IDI_APP_DEFAULT         ICON                    "res\\HI_SEOUL.ico"
#endif

#ifdef _COMPANY_DAEDEOK_
#undef IDI_APP_DEFAULT
IDI_APP_DEFAULT         ICON                    "res\\DAEDEOK.ico"
#endif

보시면 IDI_APP_DEFAULT가 가장 낮은 리소스 ID를 가지는데 해당 전처리기에 따라(업체에 따라)서 아이콘 파일을 다시 설정해 주도록 한다.

리소스 파일을 위와 같은 형식으로 만들고 나서 VC++ 프로젝트 속성의 리소스 항목에서 전처리기를 선언하여 주면 된다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다