获取windows主版本号,次版本,build版本号

#include

//-------------------------------------------------------------------------
// 函数    : GetNtVersionNumbers
// 功能    : 调用RtlGetNtVersionNumbers获取系统版本信息
// 返回值  : 
// 参数    : LOBYTE(LOWORD(dwVersion)) 主版本
// 参数    : HIBYTE(LOWORD(dwVersion)) 次版本
// 参数    : HIWORD(dwVersion)		  build号
// 附注    :
//-------------------------------------------------------------------------
DWORD GetNtVersionNumbers()
{
    DWORD dwVersion = 0;
    HMODULE hModNtdll= NULL;
    TCHAR szBuffer[100];
    DWORD dwMajorVer, dwMinorVer, dwBuildNumber;
    if (hModNtdll= LoadLibrary(TEXT("ntdll.dll")))
    {
        typedef void (WINAPI *RtlGetNtVersionNumbers)(DWORD*,DWORD*, DWORD*);
        RtlGetNtVersionNumbers pfRtlGetNtVersionNumbers;
        pfRtlGetNtVersionNumbers = (RtlGetNtVersionNumbers)GetProcAddress(hModNtdll, "RtlGetNtVersionNumbers");
        if (pfRtlGetNtVersionNumbers)
        {
		pfRtlGetNtVersionNumbers(&dwMajorVer, &dwMinorVer,&dwBuildNumber);
		dwBuildNumber &= 0xffff;
        }
	dwVersion = MAKELONG(MAKEWORD(dwMajorVer,dwMinorVer),dwBuildNumber);
        FreeLibrary(hModNtdll);
    }
    return dwVersion;
}

 

你可能感兴趣的:(获取windows主版本号,次版本,build版本号)