Pada Windows 10, kode VB.NET Environment.OS.VersionString
menghasilkan Microsoft Windows NT 6.3.9600.0
. Menurut dokumentasi Microsoft , nomor versi Windows 10 adalah 10.0
, jadi mengapa VB.NET mengenali Windows 10 sebagai Windows 8.1?
Saya lakukan systeminfo | findstr /C:"OS"
di Command Prompt dan mengembalikan nilai yang benar di 10.0.10240 N/A Build 10240
bawah "Versi OS".
windows
windows-10
vb.net
Pecinta anjing
sumber
sumber
Jawaban:
- Ramhound 26 Agustus jam 1:12
Singkatnya, jawabannya. Selama upgrade, registri tidak mengubah nomor build dari yang lama ke yang baru. Itu hanya menempel.
sumber
Jadi, untuk kembali ke pertanyaan root ... Saya menggunakan Windows Management Instrumentation (WMI) untuk menghasilkan nomor versi Windows dengan cara yang Anda harapkan. Sebagai contoh, ini melaporkan 10.0.10586
Berikut ini cuplikan kode singkat
sumber
Itu karena Anda membaca
CurrentVersion
dariHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
dan, seperti yang telah dikatakan, entri itu tidak mendapatkan perubahan terbaru dengan pembaruan Windows.Entri yang akan diperiksa adalah
CurrentMajorVersionNumber
,CurrentMinorVersionNumber
danCurrentBuildNumber
, dengan kunci yang sama.sumber
6.3 adalah versi internal Windows, yang mengungkapkan bahwa sejak Windows 7, belum ada rilis besar, yang bertentangan dengan apa yang Microsoft ingin Anda yakini. Nama-nama Windows 7, 8, 10, dll. Hanyalah nama pemasaran. Mereka memutuskan untuk melewati 9 untuk mencocokkan Mac OS X. Tetapi nomor versi sebenarnya adalah 6.3
sumber
Saya menginstal Windows 10 (edisi ulang tahun 1607) dari awal dan entri registri versi saat ini juga melaporkan 6,3, tetapi, misalnya, laporan 'ver' 10.0.14393
BTW 1) Saya membaca bahwa pratinjau Windows 10 adalah 6.4
BTW 2) Saya menginstal Windows 10 sebagai Hyper-V VM pada Windows Server 2012 R2, tapi saya tidak berpikir ini ada hubungannya dengan itu.
sumber