我编写了一段代码,使用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()

10-04 19:53