본문 바로가기

어떻게 할까

[Win32.API] 윈도우 버젼 알기.

요즘은 OS 버젼에 따라 특정 작업을 해야 하는가? 또는 다른 방법을 사용 해야 하는가? 같은 판단을 해야 할 경우가 있습니다.
CPU 검사로도 사용 해서 성능을 향상 시키는 어셈블러가 있듯이 , OS 에서도 특정 비주얼 적인 부분을 부각 시킬수 있는 방법이 있습니다.

다음 코드는 OS 를 알아 오는 기본적인 방법 입니다.


* 참고 * FLOAT 은 float 을 재 정의 한 것입니다.

이렇게 되면 OStype 에는 해당 OS 의 버젼이 메이저버젼.마이너버젼 으로 들어가게 됩니다.
각 버젼별 구성은 다음과 같습니다.


현재 위의 방법으로 하면 windows ME 와 98 은 약간 문제가 발생 하겠군요 ^^;
그래서 다음과 같이 구성할수 있겠습니다.


dwMajorVersion 과 dwMinorVersion 은 float 이 아니고 DWORD 값 이므로 이점을 주의 해야 합니다.

아래는 각 구조체 참고 사항 입니다.

Windows 에 기본 적으로 정의 되어 있는 OSVERSION 구조체에는 다음 과 같은 구성원들이 있습니다.

이 구조체 에 확장된 OSVERSIONEX 는 다음과 같습니다.