OSVERSIONINFO osinfo; osinfo.dwOSVersionInfoSize =sizeof(OSVERSIONINFO); GetVersionEx (&osinfo); switch(osinfo.dwPlatformId) { case VER_PLATFORM_WIN32s://Win32s on Windows 3.1. { //Win3.1 m_strOsVersion=_T("Win3.2"); break; } case VER_PLATFORM_WIN32_WINDOWS://Windows 95, Windows 98, or Windows Me. { switch(osinfo.dwMinorVersion) { case 0: //Win95 m_strOsVersion=_T("Win95"); break; case 10://Win98 m_strOsVersion=_T("Win98"); break; case 90://WinMe m_strOsVersion=_T("WinMe"); break; } break; } case VER_PLATFORM_WIN32_NT://Windows NT 3.51, Windows NT 4.0, Windows 2000, or Whistler { switch(osinfo.dwMinorVersion) { case 51://WinNT3.51 m_strOsVersion=_T("WinNT3.51"); break; case 0: { switch(osinfo.dwMajorVersion) { case 4://WinNT4 m_strOsVersion=_T("WinNT4.0"); break; case 5://Win2000 m_strOsVersion=_T("Win2000"); break; } break; } case 1://Whistler m_strOsVersion=_T("Whistler"); break; } break; } }
osinfo.dwOSVersionInfoSize =sizeof(OSVERSIONINFO);
GetVersionEx (&osinfo);
switch(osinfo.dwPlatformId)
{
case VER_PLATFORM_WIN32s://Win32s on Windows 3.1.
{
//Win3.1
m_strOsVersion=_T("Win3.2");
break;
}
case VER_PLATFORM_WIN32_WINDOWS://Windows 95, Windows 98, or Windows Me.
{
switch(osinfo.dwMinorVersion)
{
case 0: //Win95
m_strOsVersion=_T("Win95");
break;
case 10://Win98
m_strOsVersion=_T("Win98");
break;
case 90://WinMe
m_strOsVersion=_T("WinMe");
break;
}
break;
}
case VER_PLATFORM_WIN32_NT://Windows NT 3.51, Windows NT 4.0, Windows 2000, or Whistler
{
switch(osinfo.dwMinorVersion)
{
case 51://WinNT3.51
m_strOsVersion=_T("WinNT3.51");
break;
case 0:
{
switch(osinfo.dwMajorVersion)
{
case 4://WinNT4
m_strOsVersion=_T("WinNT4.0");
break;
case 5://Win2000
m_strOsVersion=_T("Win2000");
break;
}
break;
}
case 1://Whistler
m_strOsVersion=_T("Whistler");
break;
}
break;
}
}