Unity3D - 检测是否 Windows 10 周年(版本号)

Unity3D - Detect if Windows 10 Anniversary (version number)

好的,事情就是这样。一些用户在玩我们的游戏时遇到了这个问题:对于那些拥有 Win10 周年纪念更新的用户来说,我所做的 Xbox One 控制器映射工作得很好,但对于那些使用 Win10 周年纪念日之前的用户来说,控制器轴映射完全混乱了。

所以,我要做的是检查他们使用的是哪个版本的 Win10,并根据当前 OS 版本为 XOne pad 应用不同的映射。但是我对一件事有点迷茫:如何通过代码检查他们的 Win10 是否是周年更新? SystemInfo.operatingSystem 没有用,因为它总是返回 "Windows 10 (10.0.0)".

提前致谢。

1。想法(使用系统命名空间)

你尝试了吗

Environment.OSVersion.ToString();

从.NET 1.1开始可用,return是NT系统的版本号。所以对我来说,使用电流 Windows 10,它是

Microsoft Windows NT 6.2.9200.0

对于 Windows 8 和 Windows 8.1(两者)它将 return

Microsoft Windows NT 6.2.0.0

我目前没有 "old" Windows 10 运行 - 所以我无法测试。

2。想法(加载 DLL)

检查 [1] - 他们从系统中导入 kernel32.dll 并用于收集有关系统的详细信息。

[1] http://www.codeproject.com/Articles/707502/Version-Helper-API-for-NET