读书人

小弟我想判断当前操作系统是不是Win8

发布时间: 2014-07-02 16:35:09 作者: rapoo

我想判断当前操作系统是不是Win8 ? 求高人指点啊!
本帖最后由 VisualEleven 于 2012-12-12 11:16:39 编辑

OSVERSIONINFOEX osvi;  
BOOL bOsVersionInfoEx;

ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*) &osvi);

// win7的系统版本为NT6.1
if ( VER_PLATFORM_WIN32_NT == osvi.dwPlatformId &&
osvi.dwMajorVersion == 6 &&
osvi.dwMinorVersion == 1 )
{
return true;
}
else
{
return false;
}
上面的代码在Win8 64位 操作系统上获取的版本号和Win7 64位上获取的版本号完全相同。

请问如何判断当前操作系统为Win8 64位呢》?
[解决办法]
Win8应该是6.2吧
[解决办法]
版主说的对,很明显是6.2的版本~不是说NT6就终结了么
[解决办法]
vista
osvi.dwMajorVersion == 6
osvi.dwMinorVersion == 0

win7
osvi.dwMajorVersion == 6
osvi.dwMinorVersion == 1

win8 官方文档没有
osvi.dwMajorVersion >=6;
osvi.dwMinorVersion如果上面大于6,则值为0
osvi.dwMinorVersion如果上面等于6,则值为2

读书人网 >VC/MFC

热点推荐