您的位置:首页 > 其它

获取Windows操作系统版本

2016-03-23 22:51 836 查看
为这点事找了在网上查了半天好多感觉不好用,最后选定这个以备自己和需要的朋友再乱翻了,代码是抄的

就在MFC里调用了下很好用。用的RtlGetNtVersionNumbers

//------------------------------------------------------------------------
// 函数    : GetNtVersionNumbers
// 功能    : 调用RtlGetNtVersionNumbers获取系统版本信息
// 返回值  : BOOL
// 参数    : DWORD& dwMajorVer 主版本
// 参数    : DWORD& dwMinorVer 次版本
// 参数    : DWORD& dwBuildNumber build号
// 附注    :
//-------------------------------------------------------------------------
BOOL GetNtVersionNumbers( DWORD&dwMajorVer , DWORD& dwMinorVer , DWORD& dwBuildNumber )
{
BOOL bRet = FALSE;
HMODULE hModNtdll = NULL;
if ( hModNtdll = ::LoadLibraryW( _T("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;

}
void CMFCApplication3Dlg::OnBnClickedButton1( )//Button按钮直接调用
{
// TODO: 在此添加控件通知处理程序代码
DWORD dwMajorVer;
DWORD dwMinorVer;
DWORD dwBuildNumber;
GetNtVersionNumbers(dwMajorVer ,dwMinorVer ,dwBuildNumber );
//CString m;
//m.Format( L"%d.%d.%d" , dwMajorVer , dwMinorVer , dwBuildNumber );
//AfxMessageBox( m );
//要判断什么自己添加吧
if ( dwMajorVer >= 6 )
{
AfxMessageBox( _T("您的系统是温妻") );
}
else
{
AfxMessageBox( _T("目前不支持您的系统请换温妻") );
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  操作系统版本