2016-09-29 97 views
4

看來,參考Windows的「版本」一詞用於不同的事情。例如,Windows 10「週年更新」由Microsoft標記爲「版本1607」(例如,here)。但是,如果我嘗試使用以下代碼獲取「版本」(在安裝了週年紀念更新的PC上),則不會返回任何類似「1607」的內容。如何獲取Windows版本 - 如「Windows 10,版本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 

我如何獲得Windows 10 「版本」,如 「1607版」?

謝謝!

回答

10

根據MSDN official link有一個特定的版本號爲每個Windows版本。在網點中,這可以使用Environment.OSVersion對象來讀取。

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

你在找什麼叫ReleaseID不是Windows版本。 這是可以從註冊表鍵值改爲:

HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \ ReleaseId

using Microsoft.Win32; 

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

好極了!經過驗證可以在我的電腦上使用「Windows 10 1511」和另一臺帶有「1607」版本的電腦 - 這是預期的。 –