我有一个问题,如何在C#中通过注册表检查Windows版本?
(从Windows XP到Windows 8.1)
Environment.OSVersion
就像其他人已经说明的那样是正确的方法。
但是,如果有人想通过注册表获取它,可以使用以下方法 -
using (Microsoft.Win32.RegistryKey key =
Microsoft.Win32.Registry.LocalMachine
.OpenSubKey(@"SOFTWARE\Microsoft\WindowsNT\CurrentVersion"))
{
var osVersion = key.GetValue("CurrentVersion");
}
版本注册表为 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
。
另外,与实际操作系统相对应的映射可从此处获得 -
Operating system Version number
----------------- --------------
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5.0
osVersion
输出到 MessageBox?! - Black6.2
。 - Black您不需要读取注册表;System.Environment.OSVersion 可以提供此信息。
Environment
类中获取吗? - Sriram Sakthivel