【问题标题】:How can we check if the current OS is win8 or blue我们如何检查当前操作系统是win8还是blue
【发布时间】:2013-06-28 17:09:03
【问题描述】:

Win8.1 和 Win8 的操作系统版本相同。我们如何检查当前操作系统是 Win8 还是 Blue? Environment.OSVersion 给了我们同样的结果:

Environment.OSVersion 6.2.9200.0 Environment.OSVersion.Version 6.2.9200.0 Environment.OSVersion.Version.Major 6 Environment.OSVersion.Version.Minor 2

【问题讨论】:

  • 这是一个预发布版本。 OSVersion 之类的东西可以改变...
  • 检查Environment.OSVersion.Version.Revision。它应该对于 Win8 是 9200,对于 Win8.1 Preview 是 9431。
  • 这很奇怪!我的 win8.1 Pro 预览版
  • 它显示 OSVersion 为 9200
  • @Tim Heuer:有时用于分析目的很方便;例如,购买获得跨产品线使用的实际操作系统版本,您可以开始决定未来支持哪些版本。

标签: c# windows-8 environment-variables development-environment windows-8.1


【解决方案1】:

我在此注册表项下找到了解决方案

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

【讨论】:

    【解决方案2】:

    Windows 8.1 将lie to you 告诉你它是 Window 8。改变这个谎言需要编辑嵌入在你的程序中的清单,以便 Windows 知道你不想被骗。 Project + Add New Item,选择Application Manifest File项模板。在<application> 元素下面复制粘贴此措辞:

    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
        <application> 
            <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
        </application> 
    </compatibility>
    

    【讨论】:

      【解决方案3】:

      由于我无法让 Hans 的解决方案发挥作用,我创建了一个不同的解决方案:

      bool _IsWindows8Point1OrGreater = Type.GetType("Windows.UI.Xaml.Controls.Flyout, Windows.UI.Xaml, ContentType=WindowsRuntime", false) != null;
      

      【讨论】:

      • 刚刚在win8和8.1上测试过,都返回false。
      • 感谢您在 7 个月后投反对票。我刚刚在 Windows 8.1 和 Windows Phone 8.1 上进行了测试,两者都返回 true。怎么办? “运行时”部分可能值得注意:解决方案适用于 RT。
      【解决方案4】:

      Win8.1版本为6.3.*

      http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx

      如果您使用 GetVersionEx() api [from kernel32.dll] 获取 Win8.1 版本,则返回的值为 6.2.* 而版本值应为 6.3.*

      解决方案是您需要将程序集清单添加到 .net exe 或 os.dll 声明 symhelp 将在 Windows 8.1 上运行, 这可能会使 .net System.Environment.OSVersion.Version 正常运行。

      但是您需要在多个操作系统上对其进行测试。

      http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074(v=vs.85).aspx

      http://msdn.microsoft.com/en-us/library/windows/desktop/ms724429(v=vs.85).aspx

      【讨论】:

        猜你喜欢
        • 2011-04-23
        • 1970-01-01
        • 1970-01-01
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-16
        • 2011-05-10
        相关资源
        最近更新 更多