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

时间:2016-09-29 11:31:05

标签: c# windows unity3d mono .net-2.0

好的,这就是事情。有些用户在我们的游戏中遇到了这个问题:对于那些有Win10周年纪念更新的人来说,我做的Xbox One控制器映射效果很好,但对于那些使用Win10前周年纪念的人来说,控制器轴映射完全搞砸了。

所以,我要做的是检查他们使用的Win10版本,并根据当前操作系统版本为XOne pad应用不同的映射。但是我有点迷失方向:如何通过代码检查他们的Win10是否是周年纪念更新? SystemInfo.operatingSystem没有用,因为它总是返回" Windows 10(10.0.0)"。

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

你试过吗

Environment.OSVersion.ToString();

自.NET 1.1起可用,并返回NT系统的版本号。所以对我来说,使用当前的Windows 10,它是

  

Microsoft Windows NT 6.2.9200.0

对于Windows 8和Windows 8.1(两者),它将返回

  

Microsoft Windows NT 6.2.0.0

我目前没有“旧”Windows 10运行 - 所以我无法测试。

2。想法(加载DLL)

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

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