win8之后获取真实系统版本号信息

从win8.1开始,获取系统版本号的api GetVersion,GetVersionEx已经被微软声明为废弃了。win8之后,从这两个api获取的版本始终为6.2。然后微软就推荐我们使用Version Helper函数。

但是Version Helper在vs2013才支持。这就这就出现了:vs2010编写的代码,在win8.1上使用GetVersionEx判断系统,竟然是win8。

微软也给出了一个折衷方案:使用manifest文件指定支持的系统
在manifest中加入:

这样就可以使用GetVersionEx正确的获取到系统版本了。

还有个解决办法是直接调用ntdll.dll里面的RtlGetVersion函数。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注