4

我有一个问题,如何在 c# 中从注册表中检查 Windows 版本?

(Windows XP 到 Windows 8.1)

4

3 回答 3

7

Environment.OSVersion可以给你!

阅读Environment 类的 MSDN 文档,了解您可以从此类中获得的所有其他内容。

于 2013-08-16T18:44:01.020 回答
5

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
于 2013-08-16T19:06:26.227 回答
1

您无需阅读注册表;System.Environment.OSVersion为您提供此信息。

于 2013-08-16T18:45:44.183 回答