Tại sao Windows 10 trả về số phiên bản 6.3?


8

Trên Windows 10, mã VB.NET Environment.OS.VersionStringxuất ra Microsoft Windows NT 6.3.9600.0. Theo tài liệu của Microsoft , số phiên bản của Windows 10 là 10.0vậy, tại sao VB.NET lại nhận ra Windows 10 là Windows 8.1?

Tôi đã làm systeminfo | findstr /C:"OS"trong Command Prompt và nó trả về giá trị chính xác 10.0.10240 N/A Build 10240trong "Phiên bản hệ điều hành".


2
Bởi vì nó đang chọn thực tế bạn đã nâng cấp từ Windows 8.1. Phương pháp bạn đang sử dụng là nhìn vào sổ đăng ký. Nó đang làm việc như dự định. Có một chức năng phù hợp hơn sau đó sử dụng biến môi trường để xác định hệ điều hành nào đang được sử dụng. Tôi không thể cung cấp mã vì đây không phải là Stackoverflow
Ramhound

1
Ai đó đã gặp vấn đề tương tự trong các nhận xét ở đây: msdn.microsoft.com/en-us/l Library / windows / desktop / Lỗi Bạn cần cập nhật bảng kê khai cho ứng dụng của mình.
MC10

Bạn cũng đang sử dụng nó sai. Điều này sẽ kết thúc tại Stackoverflow vì đây là vấn đề mã hóa và mặc dù tôi nghi ngờ sử dụng biến môi trường vẫn là cách sai để xử lý nó, tệp kê khai, rõ ràng là không đúng.
Ramhound

@Ramhound Vâng, tôi nghĩ rằng đó có thể là trường hợp. Tôi biết rằng sau một tháng nâng cấp lên Windows 10, Windows 8.1 đã bị xóa - điều đó có nghĩa là số phiên bản sẽ chính xác?
Người yêu chó

Số phiên bản là chính xác. Như tôi đã nói, phương pháp mà bạn sử dụng là đọc sổ đăng ký chưa được cập nhật và sẽ không được cập nhật trừ khi đó là bản cài đặt sạch của Windows 10. Nói cách khác, hãy nói về nhiệm vụ này theo một cách khác, không sử dụng biến môi trường.
Ramhound

Câu trả lời:


3

Bởi vì nó đang chọn thực tế bạn đã nâng cấp từ Windows 8.1. Phương pháp bạn đang sử dụng là nhìn vào sổ đăng ký. Nó đang làm việc như dự định. Có một chức năng phù hợp hơn sau đó sử dụng biến môi trường để xác định hệ điều hành nào đang được sử dụng. Tôi không thể cung cấp mã vì đây không phải là Stackoverflow

- Ramhound ngày 26 tháng 8 lúc 1:12

Đó là câu trả lời ngắn gọn. Trong quá trình nâng cấp, sổ đăng ký không thay đổi số bản dựng từ bản cũ sang bản mới. Nó chỉ là gậy.


2
Nói cách khác, bản nâng cấp không hoạt động chính xác ... Chà, không có gì mới ở phía tây;)
Quandary

0

Vì vậy, để quay lại câu hỏi gốc ... Tôi sử dụng Công cụ quản lý Windows (WMI) để tạo số phiên bản Windows theo cách mà bạn đang mong đợi. Ví dụ: nó báo cáo 10.0.10586

Đây là một đoạn mã ngắn

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

Đó là bởi vì bạn đã đọc CurrentVersiontừ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersionvà, như đã nói, mục đó không được thay đổi cập nhật với các bản cập nhật Windows.

Các mục để kiểm tra là CurrentMajorVersionNumber, CurrentMinorVersionNumberCurrentBuildNumber, trong cùng một khóa.


-1

6.3 là phiên bản nội bộ của Windows, tiết lộ rằng kể từ Windows 7, không có bất kỳ bản phát hành lớn nào, trái với những gì Microsoft muốn bạn tin. Các tên Windows 7, 8, 10, v.v ... chỉ là tên tiếp thị. Họ quyết định bỏ qua 9 để phù hợp với Mac OS X. Nhưng số phiên bản thực là 6.3


1
Có nhiều lý do khác nhau cho lý do tại sao họ bỏ qua v9 (một lý do đặc biệt gọn gàng là nhiều ứng dụng cũ sẽ thấy 9 và nhầm tưởng HĐH là Windows 95/98 - nhưng tôi không nghĩ họ đã từng xác nhận hay phủ nhận rằng ). Điều đó nói rằng, hãy cố gắng kiềm chế đầu cơ ngẫu nhiên trong câu trả lời của bạn - nguồn là tốt nhất :)
Mikey TK

-1

Tôi đã cài đặt Windows 10 (phiên bản kỷ niệm 1607) từ đầu và mục đăng ký hiện tại cũng báo cáo 6.3, nhưng, ví dụ, 'ver' báo cáo 10.0.14393

BTW 1) Tôi đọc được rằng bản xem trước Windows 10 là 6.4

BTW 2) ​​Tôi đã cài đặt Windows 10 dưới dạng máy ảo Hyper-V trên Windows Server 2012 R2, nhưng tôi không nghĩ rằng điều này phải làm bất cứ điều gì với nó.


"Tôi đọc được rằng bản xem trước windows 10 là 6.4" - Bạn đọc sai. Đây là một bình luận, nó không trả lời câu hỏi của tác giả, nếu bạn muốn để lại một bình luận kiếm được điểm danh tiếng yêu cầu để làm như vậy.
Ramhound
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.