为什么Windows 10返回版本号6.3?


8

在Windows 10上,VB.NET代码Environment.OS.VersionString输出Microsoft Windows NT 6.3.9600.0。根据Microsoft文档,Windows 10的版本号为10.0,那么VB.NET为什么将Windows 10识别为Windows 8.1?

systeminfo | findstr /C:"OS"在命令提示符中进行了操作,它10.0.10240 N/A Build 10240在“ OS Version”下返回了正确的值。


2
因为它是从Windows 8.1升级的事实。您使用的方法是查看注册表。它按预期工作。然后使用环境变量来确定要使用的是哪个操作系统,这是一个更合适的功能。 我不能提供代码,因为这不是Stackoverflow
Ramhound

1
有人在这里的注释中遇到了相同的问题:msdn.microsoft.com/en-us/library/windows/desktop/…您需要更新应用程序的清单。
MC10 2015年

您也使用错了。 这应该在Stackoverflow上结束,因为它存在编码问题,尽管我怀疑使用环境变量仍然是错误的处理方法,但清单文件显然是不正确的。
Ramhound 2015年

@Ramhound是的,我认为可能是这种情况。我知道在升级到Windows 10一个月后,Windows 8.1已删除-这是否意味着版本号正确?
Dog Lover 2015年

版本号正确。正如我说的那样,您使用的方法是读取注册表,该注册表不会被更新,除非它是Windows 10的全新安装,否则不会被更新。环境变量。
Ramhound 2015年

Answers:


3

因为它是从Windows 8.1升级的事实。您使用的方法是查看注册表。它按预期工作。然后使用环境变量来确定要使用的是哪个操作系统,这是一个更合适的功能。我不能提供代码,因为这不是Stackoverflow

– Ramhound 8月26日,1:12

简而言之,这就是答案。在升级过程中,注册表不会将内部版本号从旧版本更改为新版本。它只是坚持。


2
);换句话说,升级不能正常工作......好吧,在西部没有什么新
困惑

0

因此,回到根本问题...我使用Windows Management Instrumentation(WMI)以您期望的方式生成Windows版本号。例如,它报告10.0.10586

这是一个简短的代码片段

Public Class OS

' Use Windows Management Instrumentation (WMI) to get the OS version
    Public Shared Function GetOSVersion() As String
        Dim answer As String = ""

        ' add Imports System.Management and add a resource to System.Management
        Dim osClass As New ManagementClass("Win32_OperatingSystem")
        For Each queryObj As ManagementObject In osClass.GetInstances()
            answer = DirectCast(queryObj.GetPropertyValue("Version"), String)
        Next

        Return answer
    End Function
End Class

0

这是因为你读CurrentVersionHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,正如前面已经说过,该条目没有得到更新,Windows更新变化。

检查条目CurrentMajorVersionNumberCurrentMinorVersionNumberCurrentBuildNumber在相同的密钥。


-1

6.3是Windows的内部版本,它表明自Windows 7以来,没有任何主要发行版,与Microsoft希望您相信的相反。Windows 7、8、10等名称只是市场名称。他们决定跳过9来匹配Mac OSX。但是实际版本号是6.3。


1
导致他们跳过v9的原因有很多,其中一个很好的原因是,许多旧版应用程序会看到v9,并错误地认为该操作系统是Windows 95/98-但我认为他们从未确认或否认这一点。 )。就是说,请尽量避免在答案中随意猜测-信息来源最好:)
Mikey TK

-1

我从头开始安装Windows 10(周年纪念版1607),并且currentversion注册表项也报告6.3,但是例如,``ver''报告10.0.14393

顺便说一句1)我读到Windows 10预览版是6.4

顺便说一句2)我将Windows 10作为Hyper-V VM安装在Windows Server 2012 R2上,但我认为这与其无关。


“我听说Windows 10预览版是6.4”-您读错了。这是一条评论,它不会回答作者的问题,如果您想发表评论,请获得必要的声誉点。
Ramhound
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.