|  | 
 
 发表于 2015-9-2 16:39:04
|
显示全部楼层 
| 分享下,自己的 
 
 
 /*
 * Parameter(s)  : dwMajorVer    主版本
 dwMinorVer    次版本
 dwBuildNumber build号
 * Description   : 调用RtlGetNtVersionNumbers获取系统版本信息
 * Return        : TRUE    成功
 FALSE   失败
 */
 BOOL GetNtVersionNumbers( DWORD& dwMajorVer, DWORD& dwMinorVer, DWORD& dwBuildNumber )
 {
 BOOL bRet= FALSE;
 HMODULE hModNtdll= NULL;
 if (hModNtdll= ::LoadLibraryW(L"ntdll.dll"))
 {
 typedef void (WINAPI *pfRTLGETNTVERSIONNUMBERS)(DWORD*,DWORD*, DWORD*);
 pfRTLGETNTVERSIONNUMBERS pfRtlGetNtVersionNumbers;
 pfRtlGetNtVersionNumbers = (pfRTLGETNTVERSIONNUMBERS)::GetProcAddress(hModNtdll, "RtlGetNtVersionNumbers");
 if (pfRtlGetNtVersionNumbers)
 {
 pfRtlGetNtVersionNumbers(&dwMajorVer, &dwMinorVer,&dwBuildNumber);
 dwBuildNumber &= 0x0ffff;
 bRet = TRUE;
 }
 ::FreeLibrary(hModNtdll);
 hModNtdll = NULL;
 }
 
 return bRet;
 }
 
 | 
 |