Sur Windows 10, le code VB.NET Environment.OS.VersionString
sort Microsoft Windows NT 6.3.9600.0
. Selon la documentation de Microsoft , le numéro de version de Windows 10 est 10.0
, alors pourquoi VB.NET reconnaît-il Windows 10 comme Windows 8.1?
J'ai fait systeminfo | findstr /C:"OS"
dans l'invite de commande et il a renvoyé la valeur correcte de 10.0.10240 N/A Build 10240
sous "OS Version".
windows
windows-10
vb.net
Amoureux des chiens
la source
la source
Réponses:
- Ramhound 26 août à 1:12
Voilà la réponse en un mot. Pendant la mise à niveau, le registre ne change pas le numéro de build de l'ancien au nouveau. Ça colle.
la source
Donc, pour revenir à la question fondamentale ... J'utilise Windows Management Instrumentation (WMI) pour générer le numéro de version de Windows de la manière que vous attendez. Par exemple, il signale 10.0.10586
Voici un court extrait de code
la source
C'est parce que vous lisiez
CurrentVersion
deHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
et, comme cela a déjà été dit, que l' entrée ne soit pas mis à jour le changement des mises à jour de Windows.Les entrées à vérifier sont
CurrentMajorVersionNumber
,CurrentMinorVersionNumber
etCurrentBuildNumber
, dans la même clé.la source
6.3 est la version interne de Windows, qui révèle que depuis Windows 7, il n'y a pas eu de versions majeures, contrairement à ce que Microsoft veut vous faire croire. Les noms Windows 7, 8, 10, etc. ne sont que des noms marketing. Ils ont décidé de sauter 9 pour correspondre à Mac OS X. Mais le vrai numéro de version est 6.3
la source
J'ai installé Windows 10 (édition anniversaire 1607) à partir de zéro et l'entrée de registre currentversion signale également 6.3, mais, par exemple, les rapports 'ver' 10.0.14393
BTW 1) J'ai lu que l'aperçu de Windows 10 était de 6,4
BTW 2) J'ai installé Windows 10 en tant que machine virtuelle Hyper-V sur Windows Server 2012 R2, mais je ne pense pas que cela ait quelque chose à voir avec cela.
la source