我正在尝试确定.NET应用程序中的操作系统版本,该应用程序已经使用System.Environment.Osversion成功确定所有版本的Windows(最高为Windows 8.1)的版本。
但是,在Windows 10上的.NET应用程序中调用System.Environment.Osversion时,返回的版本是Microsoft Windows NT 6.2.9200.0 (与Windows 8.1上的输出完全相同)。 但是,当通过PowerShell调用[System.Environment]::Osversion Microsoft Windows NT 10.0.10240.0 ,输出会给我Microsoft Windows NT 10.0.10240.0 。
我的印象是,PowerShell在.NET下使用.NET,期望这两个调用返回完全相同的输出。 为什么在输出中有差异,更重要的是,如何检测我的应用程序是否在Windows 10上运行?
如何使用Windows SDK更新“其他时钟”设置
在windows phone 8.1 C#中显示&#8211带笑脸的文字(笑脸看起来像&#8211。)
机器在.NET中的域名?
Windows,.NET阅读鼠标光标下的文本
静态string使用File.ReadAllText
以编程方式将规则添加到AVG防火墙
将安装Visual Studio 2010 +奥斯陆CTP螺丝我的Visual Studio 08安装?
我解密的密码是1个字符或短
在Linux中运行.NET EXE
我认为这是原因 :
随着Windows 8.1的发布, GetVersion API的行为在操作系统版本的返回值中发生了变化。 GetVersion函数返回的值现在取决于应用程序的表现方式。
不适用于Windows 8.1或Windows 10的应用程序将返回Windows 8操作系统版本值(6.2)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。