我编写了一段代码,使用GetVersionEx函数检索Windows主要版本和次要版本,但是此函数始终返回主要版本6和次要版本2。
MSDN表示要使用Version Helper API查找当前的操作系统。我在Windows 8.1中构建了该项目,并引用了Windows 8.1套件路径以包含VersionHelpers头文件。 VersionHelpers头文件中没有IsWindows10OrGreater()函数。
因此,我从GitHub下载了VersionHelper头文件,并将其添加到我的项目中。编译错误消失了,但是IsWindows10OrGreater函数失败了。
我做错什么了吗?
最佳答案
VersionHelper函数只是VerifyVersionInfo()
的包装器。从Windows 10开始,VerifyVersionInfo()
现在受GetVersionEx()
所遵循的相同版本声明规则的约束。要获得真实的OS版本,而不考虑其表现形式,可以改用RtlGetVersion()
,NetServerGetInfo()
或NetWkstaGetInfo()
。