首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 10 RTM OSVersion未返回我期望的内容

Windows 10 RTM OSVersion未返回我期望的内容
EN

Stack Overflow用户
提问于 2015-07-20 23:15:51
回答 3查看 9.9K关注 0票数 12

使用以下命令调用Windows 10版本时:

代码语言:javascript
复制
Environment.OSVersion.ToString()

返回这个

Windows 8和8.1版本返回6.2而不是6.3 ?!

即时通信使用Windows10RTM(通过Windows更新从内部升级) VS 2015 RC和.Net 4.6.

现在我需要获取windows的正确版本,有什么解决方案吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-20 23:18:21

这不是一个bug,它在MSDN中:

Operating System Version

Windows 10 Insider预览版10.0* Windows Server技术预览版10.0* Windows 8.1 6.3*

*:适用于Windows 8.1或Windows 10 Insider预览版的应用程序。Windows8.1或Windows10Insider预览版中未显示的应用程序将返回Windows8操作系统版本值(6.2)。要显示用于Windows8.1或Windows10Insider预览版的应用程序,请参阅Targeting your application for Windows

不管怎样,你需要Windows版本做什么?

票数 14
EN

Stack Overflow用户

发布于 2016-01-08 18:46:46

请使用WMI查询,这是获取版本和相关产品名称的最可靠方法。

代码语言:javascript
复制
        public static KeyValuePair<string, string> GetOSVersionAndCaption()
        {
              KeyValuePair<string, string> kvpOSSpecs = new KeyValuePair<string, string>();
              ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption, Version FROM Win32_OperatingSystem");
        try
        {

            foreach (var os in searcher.Get())
            {
                var version = os["Version"].ToString();
                var productName = os["Caption"].ToString();
                kvpOSSpecs = new KeyValuePair<string, string>(productName, version);
            }
        }
        catch { }

        return kvpOSSpecs;
    }
票数 14
EN

Stack Overflow用户

发布于 2016-01-25 23:22:48

Windows10有了一个新的注册表项--你将从Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentMajorVersionNumber", Nothing)得到10的结果,而(理论上)不是从早期版本得到的。

根据秒表对象,这在0毫秒内运行,而WMI方法对我来说至少需要30毫秒。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31520192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档