작성일: 2009.05.15 (http://ospace.tistory.com/), ospace114@엠팔.컴
VC에서 운영체제별 호환 프로그램을 작성시 꼭 필요한 전처리기 선언해야한다. 보통 일반적으로 전처리기 사용하지 않으면 현재 컴파일되는 윈도우 버전이 선언된다.
사용되는 매크로는 다음과 같다.
- WINVER
윈도우 버전을 사용한다. 현재 사용되는 윈도우 버전을 말한다.
0x410은 major 버전은 4이고 minor는 10이다. 즉 Windows 98 이전을 말한다.` - _WIN32_WINDOWS
앞의 WINVER도 같은 의미이다.
`0x410이면 앞의 Windows 98과 같다. - _WIN32_WINNT
Windows NT 버전을 가리킨다. 만약 Windows ME 이전이라면 선언하면 안된다.
`0x400 이면 Windows NT 4.0 이전을 가리킨다. - _WIN32_IE
인터넷 익스플로러 버전을 말한다. 간혹 인터넷 익프를로러에서 제공되는 API를 사용하는 경우 사용된다. 일반적인 어플리케이션을 사용하는 경우 IE용 API 사용을 권장하지 않는다.
0x400이면 IE 4.0이전을 말한다.
이를 정리해서 표시하면,
#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.
#define WINVER 0x0410 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif
#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.
#define _WIN32_WINNT 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif
#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.
#define _WIN32_IE 0x0400 // Change this to the appropriate value to target IE 5.0 or later.
#endif
윈도우 버전에 대한 정보는 아래 링크의ㅣ 테이블에서 Windows Vesion 항목을 참고하면 된다.
반응형
'3.구현 > VC++' 카테고리의 다른 글
[컨트롤이야기] 리치에디트(RichEdit) 컨트롤 사용하기 (4) | 2009.06.18 |
---|---|
트레이 아이콘 다루기 (0) | 2009.05.18 |
VC에서 자동으로 빌드번호 증가시키기 ( Incresing the build number automatically) (0) | 2008.08.13 |
Registry(레지스트리) 변경을 감시하여 이벤트 처리하기 (0) | 2008.08.07 |
Windows 메시지 인자(Param) 처리시 사용하는 매크로 (0) | 2008.04.25 |