获取Windows版

时间:2010-12-10 04:49:37

标签: c# .net windows

有没有简单的方法来获取Windows Edition(Home,Professional等)?

5 个答案:

答案 0 :(得分:8)

This blog post详细介绍了获取Windows的“主要”版本(XP / Vista / 7 /等),然后是this blog post详细说明如何使用WMI获取额外的信息。

第二个链接中的代码有点长,而且我不确定在没有明显许可的情况下从外部站点复制大块代码,所以我没有把代码放在这个答案中。 /子>

答案 1 :(得分:6)

这样做的几种方式:

  1. 您可以解析WMI中caption类的Win32_OperatingSystem字段。
  2. 您可以查看WMI中OSProductSuite课程中的OperatingSystemSKUWin32_OperatingSystem字段。
  3. 您可以使用P / Invoke移植this C++ program

答案 2 :(得分:4)

如果您引用Microsoft.VisualBasic.Devices命名空间,则可以执行以下操作:

ComputerInfo computerInfo = new ComputerInfo();
string fullName = computerInfo.OSFullName; // i.e. "Microsoft Windows 7 Ultimate"

您可以在c#apps中使用Microsoft.VisualBasic - 它就像任何其他库一样。

答案 3 :(得分:2)

排序。在this class中使用this way

答案 4 :(得分:0)

简单回答?只需查看注册表。

HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProductName

HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ CSDVersion

它没有WMI的开销(每次调用50ms),并且它给出了全名。