8

В Windows 10 среда кода VB.NET .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 разделе "Версия ОС".

5 ответов5

3

Потому что он подхватывает тот факт, что вы обновились с Windows 8.1. Метод, который вы используете, смотрит на реестр. Это работает как задумано. Существует более подходящая функция, чем использование переменной среды для определения используемой операционной системы. Я не могу предоставить код, так как это не Stackoverflow

- Ramhound 26 августа в 1:12

Это ответ в двух словах. Во время обновления реестр не меняет номер сборки со старого на новый. Это просто прилипает.

0

Это потому, что вы читали CurrentVersion из HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion и, как уже было сказано, эта запись не обновляется с обновлениями Windows.

Проверяемые записи: CurrentMajorVersionNumber , CurrentMinorVersionNumber и CurrentBuildNumber в одном ключе.

0

Итак, вернемся к основному вопросу ... Я использую Инструментарий управления Windows (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
-1

6.3 - это внутренняя версия Windows, которая показывает, что начиная с Windows 7, не было никаких крупных выпусков, вопреки тому, что Microsoft хочет, чтобы вы верили. Названия Windows 7, 8, 10 и т.д. Являются просто маркетинговыми названиями. Они решили пропустить 9, чтобы соответствовать Mac OS X. Но реальный номер версии - 6.3

-1

Я установил Windows 10 (юбилейный выпуск 1607) с нуля, и запись реестра currentversion также сообщает 6.3, но, например, 'ver' сообщает 10.0.14393

Кстати 1) Я читал, что предварительный просмотр Windows 10 был 6,4

Кстати 2) Я установил Windows 10 в качестве виртуальной машины Hyper-V на Windows Server 2012 R2, но я не думаю, что это как-то связано с этим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .