728x90
반응형
1. 개요
- OSVERSIONINFOEX 구조체로 윈도우의 버전을 알수있음.
2. 코드
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
// OSVERSIONINFOEX 구조체를 이용하여 버전 구분
switch(osvi.dwPlatformId){
// NT 기반 운영체제
case VER_PLATFORM_WIN32_NT:
/*
dwMajorVersion, dwMinorVersion 멤버로 운영체제 구분
ex)
if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0) version = "vista";
if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 1) version = "window 7";
...
*/
break;
}
- 윈도우 NT 4.0 SP6 보다 낮은 버전 os에서는 OSVERSIONINFO 구조체를 사용해야함.
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
// 윈도우 NT 4.0 SP6 이하 윈도우라면 FALSE == 윈도우 버전이 낮음
if(!GetVersionEx((OSVERSIONINFO *)&osvi))
{
// OSVERSIONINFO로 재설정
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
}
switch(osvi.dwPlatformId){
// 윈도우즈 9x 기반의 운영체제인 경우
case VER_PLATFORM_WIN32_WINDOWS:
/*
if(osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0) version = "window 95";
else if(osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10) version = "window 98";
else if(osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) version = "window ME";
*/
break;
}
[Major/Minor Chart]
[표 출처]
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms724833(v=vs.85).aspx
728x90
반응형
'프로그래밍 > Windows' 카테고리의 다른 글
[Windows] 환경 변수 얻어오기 (Win32API) (0) | 2016.09.04 |
---|---|
[Windows] hosts 파일 바꾸기 (Win32API) (0) | 2016.08.10 |
[Windows] 리소스 드랍 (Win32API) (0) | 2015.08.31 |
[Windows] 프로세스/운영체제 비트 확인 (Win32API) (0) | 2015.08.23 |
[Windows] 프로세스 정보 확인하기 (Win32API) (0) | 2015.08.23 |
[Windows] 파일열기 대화상자 (Win32API) (0) | 2015.08.22 |
댓글