반응형
Win Xp냐 Win 7이냐 Win Vista냐.. 등등에 따라 달라지는 로직을 분기를 가르기 위해
사용되는 함수  OSVERSIONINFO 구조체를 통해서 받아온다.

아래처럼 선언과 분기나눠지는 부분을 참고하자.

// OS Version 받아오기 위한 선언문
 OSVERSIONINFO osvi;
 ZeroMemory (&osvi, sizeof (OSVERSIONINFO));
 osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
 GetVersionEx(&osvi);

 if ( (osvi.dwMajorVersion >= 6 && osvi.dwMinorVersion >= 0) ) // Win Vista , WIn 7 이상
 {
    // Vista, Win7 이상인 경우의 로직 수행  
 }
 else // xp 이하
 {
   // Vista, WIn7이 아닌 그 이하의 경우 로직수행  
 }


dwMajorVersion과 MinorVersion에 따라서 System Version이 결국 달라진다는 건데,
그에 대한 정보는 몇개만 주력으로 추려보면 아래와 같다.
수정할 것이 있으면 댓글달아주세욤~~

 // OS version에 따라 저장할 경로가 달라진다.
 // Major 4, Minor 0 : Win 95
 // Major 4, Minor 10 : Win 98
 // Major 4, Minor 90 : Win me
 // Major 5, Minor 0 : win 2000
 // Major 5, Minor 1 : win xp 
 // Major 5, Minor 2 : Win .Net
 
 // Major 6, Minor 0 : vista
 // Major 6, Minor 1 : win 7 


이상!
반응형
Posted by Rainfly
l