Win8.1以前,可以利用微软提供的OSVERSIONEX这个结构体直接获取到系统所对应的版本号。
使用方法如下:
BOOL getOSVer()
{
OSVERSIONINFOEX osinfor;
ZeroMemory(&osinfor, sizeof(OSVERSIONINFOEX));
osinfor.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if (!GetVersionEx((OSVERSIONINFO*)&osinfor))
{
return FALSE;
}
TCHAR osVersionBfuff[256] = { 0 };
if (osinfor.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
_tprintf(_T("Major ver:%d \r\n"), osinfor.dwMajorVersion);
_tprintf(_T("Minor ver:%d \r\n"), osinfor.dwMinorVersion);
_tprintf(_T("Build ver:%d \r\n"), osinfor.dwBuildNumber);
_tprintf(_T("PlatF ver:%d \r\n"), osinfor.dwPlatformId);
_tprintf(_T("CD ver: %s \r\n"), osinfor.szCSDVersion);
}
return TRUE;
}
然而后来微软废弃了GetversionEx(),提供了另一种更为简便的接口,可以更好的API接口,只需要头文件包含
#include <VersionHelpers.h>