Windows 10에서 버전 번호 6.3을 반환하는 이유는 무엇입니까?


8

Windows 10에서는 VB.NET 코드가 Environment.OS.VersionString출력 Microsoft Windows NT 6.3.9600.0됩니다. Microsoft 문서 에 따르면 Windows 10의 버전 번호는 10.0VB.NET에서 Windows 10을 Windows 8.1로 인식하는 이유는 무엇입니까?

내가 그랬어 systeminfo | findstr /C:"OS"명령 프롬프트 그것은 올바른 값 반환 10.0.10240 N/A Build 10240"OS 버전"아래를.


2
Windows 8.1에서 업그레이드했다는 사실을 알기 때문입니다. 사용중인 방법은 레지스트리를 보는 것입니다. 의도 한대로 작동합니다. 사용중인 운영 체제를 판별하기 위해 환경 변수를 사용하는 것이 더 적절한 기능입니다. 이 코드는 Stackoverflow가 아니기 때문에 코드를 제공 할 수 없습니다
Ramhound

1
여기 주석에서 동일한 문제가 발생했습니다. msdn.microsoft.com/en-us/library/windows/desktop/… 응용 프로그램의 매니페스트를 업데이트해야합니다.
MC10

당신은 또한 그것을 잘못 사용하고 있습니다. 이것은 코딩 문제로 인해 Stackoverflow에서 끝나야하며 환경 변수를 사용하는 것이 여전히 잘못된 방법이라고 생각되지만 매니페스트 파일은 분명히 옳지 않습니다.
Ramhound

@Ramhound 그렇습니다. 한 달에 Windows 10으로 업그레이드 한 후 Windows 8.1이 제거된다는 것을 알고 있습니다. 즉, 버전 번호가 정확합니까?
개 연인

버전 번호가 정확합니다. 내가 말했듯이 사용하는 방법은 레지스트리를 읽는 것입니다. 업데이트되지 않았으며 Windows 10을 새로 설치하지 않으면 업데이트되지 않습니다.이 작업에 대해 다른 방법으로 이동하십시오. 즉, 사용하지 마십시오 환경 변수.
Ramhound

답변:


3

Windows 8.1에서 업그레이드했다는 사실을 알기 때문입니다. 사용중인 방법은 레지스트리를 보는 것입니다. 의도 한대로 작동합니다. 사용중인 운영 체제를 판별하기 위해 환경 변수를 사용하는 것이 더 적절한 기능입니다. 이것이 코드가 아니기 때문에 코드를 제공 할 수 없습니다

– Ramhound 8 월 26 일 1시 12 분

그것은 간단히 말해서 답입니다. 업그레이드하는 동안 레지스트리는 빌드 번호를 이전에서 새 것으로 변경하지 않습니다. 그냥 붙어 있습니다.


2
다시 말해서, 업그레이드가 제대로 작동하지 않습니다 ... 음, 서쪽에는 새로운 것이 없습니다;)
Quandary

0

따라서 근본적인 질문으로 돌아가려면 ... WMI (Windows Management Instrumentation)를 사용하여 예상 한 방식으로 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

당신이 읽고 있었기 때문에의 그 CurrentVersion에서 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion와, 이미하고있다가 말했다, 해당 항목은 Windows 업데이트와 변경 사항을 업데이트되지 않습니다.

확인하는 항목은 CurrentMajorVersionNumber, CurrentMinorVersionNumberCurrentBuildNumber같은 키.


-1

6.3은 Windows의 내부 버전으로, Windows 7 이후 Microsoft가 믿고 싶어하는 것과는 달리 주요 릴리스가 없었 음을 나타냅니다. Windows 7, 8, 10 등의 이름은 마케팅 이름 일뿐입니다. Mac OS X와 ​​일치하도록 9를 건너 뛰기로 결정했지만 실제 버전 번호는 6.3입니다.


1
v9를 건너 뛴 이유에는 여러 가지 이유가 있습니다. ). 즉, 답변에 임의의 추측을 자제하려고 노력하십시오-출처가 가장 좋습니다 :)
Mikey TK

-1

Windows 10 (Anniverary Edition 1607)을 처음부터 설치했으며 currentversion 레지스트리 항목도 6.3을보고하지만 'ver'는 10.0.14393을보고합니다.

BTW 1) Windows 10 미리보기가 6.4라는 것을 읽었습니다.

BTW 2) ​​Windows Server 2012 R2에 Windows 10을 Hyper-V VM으로 설치했지만이 작업과 관련이 있다고 생각하지 않습니다.


"Windows 10 미리보기가 6.4라는 것을 읽었습니다."-잘못 읽었습니다. 이것은 의견이며, 저자의 질문에 답하지 않습니다. 의견을 남기고 싶다면 평판이 필요합니다.
Ramhound
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.