看来,参考Windows的“版本”一词被用于不同的事情。 例如,Windows 10“周年纪念更新”被Microsoft标记为“版本1607”( 在此处为例)。 但是,如果我尝试使用以下代码获取“版本”(在安装了周年纪念更新的PC上),则不会返回任何类似“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“版本”?
谢谢!
根据MSDN官方链接 ,每个Windows版本都有一个特定的版本号。 在网点这可以使用Environment.OSVersion对象读取。
Console.WriteLine("OSVersion: {0}", Environment.OSVersion); //output: OSVersion: Microsoft Windows NT 6.2.9200.0
你正在寻找的是所谓的ReleaseID不是一个版本的Windows。 这是可以从注册表项读取的:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ReleaseId
using Microsoft.Win32; string releaseId = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ReleaseId", "").ToString(); Console.WriteLine(releaseId);