我注意到GetVersionEx()声明已被弃用.更糟糕的是,对于Windows 8.1(可能是未来版本),版本号受应用程序清单的限制.
我的目标是收集用户正在运行的操作系统上的分析,因此我可以适当地定位支持.我想要一个收集这些数据的面向未来的解决方案.更新清单不起作用,因为我只能更新已发布的Windows版本的清单,而不是更新版本.建议的替换API(版本助手函数)是无用的.
如何收集实际的Windows版本号?
澄清一下:通过"未来验证",我只是说我想要有一个相当不错的机会在下一个版本的Windows上工作.没有什么是确定的,但文档确实说GetVersionEx()不起作用.
我的目标是在我的代码中检测Windows 10,它必须跨平台以及不同版本的Windows(至少7及以上版本)工作.Windows提供IsWindows10OrGreater()了解决此问题的方法,但是还有另一个问题,此功能在以前的Windows版本中不存在.
你会发现无数的博客和SO问题,以及明显的疯狂,像这样和getversion等功能返回一些不同的版本,而不是正确的版本.
例如在我的机器上 - 该方法IsWindows10OrGreater()无法编译(我将安装Win10 SDK),并IsWindowsVersionOrGreater()报告6为主要版本.
那么有一种理智的多版本方式我可以解决这个问题吗?