W systemie Windows 10, kod VB.NET Environment.OS.VersionString
wyjścia Microsoft Windows NT 6.3.9600.0
. Według dokumentacji Microsoft numer wersji systemu Windows 10 to 10.0
, więc dlaczego VB.NET rozpoznaje Windows 10 jako Windows 8.1?
Zrobiłem to systeminfo | findstr /C:"OS"
w wierszu polecenia i zwróciło ono prawidłową wartość w polu 10.0.10240 N/A Build 10240
„Wersja systemu operacyjnego”.
windows
windows-10
vb.net
Miłośnik psów
źródło
źródło
Odpowiedzi:
- Ramhound 26 sierpnia o 1:12
Oto odpowiedź w skrócie. Podczas aktualizacji rejestr nie zmienia numeru kompilacji ze starego na nowy. Po prostu się trzyma.
źródło
Tak więc, aby wrócić do głównego pytania ... Używam Instrumentacji zarządzania Windows (WMI), aby wygenerować numer wersji Windows w sposób, którego oczekujesz. Na przykład zgłasza 10.0.10586
Oto krótki fragment kodu
źródło
To dlatego, że czytali
CurrentVersion
odHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
i, jak już zostało powiedziane, że wpis nie zostanie uaktualnione zmiany z aktualizacji systemu Windows.Wpisy do sprawdzenia to
CurrentMajorVersionNumber
,CurrentMinorVersionNumber
iCurrentBuildNumber
, w tej samej tonacji.źródło
6.3 jest wewnętrzną wersją systemu Windows, która ujawnia, że od Windows 7 nie było żadnych większych wydań, w przeciwieństwie do tego, w co Microsoft chce, abyś wierzył. Nazwy Windows 7, 8, 10 itd. To tylko nazwy marketingowe. Postanowili pominąć 9, aby dopasować Mac OS X. Jednak rzeczywisty numer wersji to 6.3
źródło
Zainstalowałem system Windows 10 (wydanie rocznicowe 1607) od zera, a wpis rejestru bieżącej wersji również zgłasza 6.3, ale na przykład raporty „ver” 10.0.14393
BTW 1) Czytałem, że podgląd Windows 10 miał 6.4
BTW 2) Zainstalowałem Windows 10 jako maszynę wirtualną Hyper-V na Windows Server 2012 R2, ale nie sądzę, że to ma coś z tym wspólnego.
źródło