Windows 10がバージョン番号6.3を返すのはなぜですか?


8

Windows 10では、VB.NETコードEnvironment.OS.VersionString出力Microsoft Windows NT 6.3.9600.0Microsoftのドキュメントによると、Windows 10のバージョン番号はですが10.0、なぜVB.NETはWindows 10をWindows 8.1として認識するのですか?

私がやったsysteminfo | findstr /C:"OS"コマンドプロンプトで、それは正しい値が返された10.0.10240 N/A Build 10240「OSバージョン」の下に。


2
Windows 8.1からアップグレードしたという事実を取り上げているからです。使用しているメソッドはレジストリを調べています。意図したとおりに機能しています。次に、環境変数を使用して、どのオペレーティングシステムが使用されているかを判断する、より適切な関数があります。 これはStackoverflowではないため、コードを提供することはできません
Ramhound

1
ここのコメントで誰かが同じ問題を経験しました:msdn.microsoft.com/en-us/library/windows/desktop/…アプリケーションのマニフェストを更新する必要があります。
MC10 2015

あなたもそれを間違って使用しています。 これはStackoverflowで終了するはずです。コーディングの問題があるからです。環境変数を使用するのはまだ間違った方法だと思いますが、マニフェストファイルは明らかに正しくありません。
ラムハウンド2015

@Ramhoundはい、そうだったのではないかと思いました。1か月分のWindows 10へのアップグレード後、Windows 8.1が削除されたことを知っています。それは、バージョン番号が正しいことを意味しますか?
Dog Lover

バージョン番号は正しいです。彼が言ったように、使用しているのはレジストリを読み取っていて、これは更新されておらず、Windows 10のクリーンインストールでない限り更新されません。別の方法でこのタスクを実行してください。つまり、環境変数。
ラムハウンド2015

回答:


3

Windows 8.1からアップグレードしたという事実を取り上げているからです。使用しているメソッドはレジストリを調べています。意図したとおりに機能しています。次に、環境変数を使用して、どのオペレーティングシステムが使用されているかを判断する、より適切な関数があります。Stackoverflowではないため、コードを提供できません

–ラムハウンド8月26日1:12

それが一言で言えば答えです。アップグレード中、レジストリはビルド番号を古いものから新しいものに変更しません。くっつくだけ。


2
言い換えると、アップグレードは適切に機能しません...さて、西側では新しいものはありません;)
四半期

0

したがって、根本的な問題に戻るために、私はWindows Management Instrumentation(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

0

あなたは読んでいたのだからCurrentVersionからHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion既にあったように、そのエントリは、Windowsのアップデートで変更を更新されません、と述べました。

チェックのエントリがありCurrentMajorVersionNumberCurrentMinorVersionNumberかつCurrentBuildNumber同じキーで、。


-1

6.3はWindowsの内部バージョンです。これは、Windows 7以降、Microsoftがあなたに信じてもらいたいことに反して、メジャーリリースがなかったことを示しています。Windows 7、8、10などの名前は、単なるマーケティング名です。Mac OS Xに合わせて9をスキップすることにしました。しかし、実際のバージョン番号は6.3です。


1
彼らがv9をスキップした理由にはさまざまな理由があります(特に素晴らしいのは、多くのレガシーアプリが9を見て、OSがWindows 95/98であると誤って思っていたということですが、それを確認または拒否したことはないと思います)。とはいえ、回答の中でランダムな推測を控えるようにしてください-ソースは最高です:)
Mikey TK

-1

私はWindows 10(アニバーサリーエディション1607)を最初からインストールし、currentversionレジストリエントリも6.3を報告していますが、たとえば、「ver」は10.0.14393を報告します。

ところで、私はWindows 10プレビューが6.4だったと読みました

ところで2)私はWindows 10をHyper-V VMとしてWindows Server 2012 R2にインストールしましたが、これがそれと何か関係があるとは思いません。


「Windows 10プレビューが6.4だったと読みました」-間違って読みました。これはコメントです。コメントを残したい場合は、そのために必要な評判ポイントを獲得して、作者の質問に答えることはありません。
ラムハウンド2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.