2016-09-29 8 views
4

Windows版の「バージョン」という言葉は、さまざまなことに使われているようです。たとえば、Windows 10の「Anniversary Update」はMicrosoft(「here」など)によって「Version 1607」というラベルが付けられています。しかし、次のコードを使用して「バージョン」(Anniversary UpdateがインストールされたPC上)を取得しようとすると、「1607」のようなものは返されません。Windows版の入手方法 - 「Windows 10、version 1607」のように?

// Get Version details 
Version ver = os.Version; 
Console.WriteLine("Major version: " + ver.Major); 
Console.WriteLine("Major Revision: " + ver.MajorRevision); 
Console.WriteLine("Minor version: " + ver.Minor); 
Console.WriteLine("Minor Revision: " + ver.MinorRevision); 
Console.WriteLine("Build: " + ver.Build); 

私はこれを取得:

Major version: 6 
Major Revision: 0 
Minor version: 2 
Minor Revision: 0 
Build: 9200 

は、どのように私は、 "バージョン1607" のようにWindowsの10 "バージョン" を得るのですか?

ありがとうございます!

答えて

10

MSDN official linkによれば、そこにはそれぞれのバージョンのWindows用の特定のバージョン番号があります。ドットネットでは、これはEnvironment.OSVersionオブジェクトを使用して読み取ることができます。

Console.WriteLine("OSVersion: {0}", Environment.OSVersion); 
//output: OSVersion: Microsoft Windows NT 6.2.9200.0 

あなたが探しているものは、ReleaseIDと呼ばれ、Windowsのバージョンではありません。 このレジストリキーから読み取ることができること:マイクロソフト\ Windows NTの\ CurrentVersionの\ \

HKEY_LOCAL_MACHINE \ソフトウェアが

using Microsoft.Win32; 

string releaseId = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ReleaseId", "").ToString(); 
Console.WriteLine(releaseId); 
+1

抜群のリリースID! "Windows 10 version 1511"と私のPCで動作することが確認されました。もう1台の "1607"というPCが期待されていました。 –

関連する問題