C# 检测操作系统版本

C# 检测操作系统版本,c#,windows,operating-system,C#,Windows,Operating System,我想知道是否有可能从注册表以外的其他地方找到操作系统版本。我指的不是Win7、10等版本,而是家庭版、专业版、企业版等 即使我在注册表中找到它,Windows 10的Pro版本上也有“Enterprise” 我只需要知道如何在Windows10上实现这一点 我发现这篇文章: 但是我没有看到Environment.OSVersion返回windows版本的选项 可能通过WMI实现吗?这是使用WMI实现的一种简单方法 using (var searcher = new ManagementObje

我想知道是否有可能从注册表以外的其他地方找到操作系统版本。我指的不是Win7、10等版本,而是家庭版、专业版、企业版等

即使我在注册表中找到它,Windows 10的Pro版本上也有“Enterprise”

我只需要知道如何在Windows10上实现这一点

我发现这篇文章:

但是我没有看到
Environment.OSVersion
返回windows版本的选项


可能通过WMI实现吗?

这是使用WMI实现的一种简单方法

using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem"))
{
    var obj = searcher.Get().Cast<ManagementBaseObject>().FirstOrDefault();
    string version = obj["Caption"].ToString();                 //Microsoft Windows 10 Home
    string architecture = obj["OSArchitecture"].ToString();     //64-bit
}
使用(var searcher=newmanagementobjectsearcher(“从Win32\u操作系统中选择*))
{
var obj=searcher.Get().Cast().FirstOrDefault();
string version=obj[“Caption”].ToString();//Microsoft Windows 10 Home
string architecture=obj[“OSArchitecture”].ToString();//64位
}

这是使用WMI执行此操作的简单方法

using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem"))
{
    var obj = searcher.Get().Cast<ManagementBaseObject>().FirstOrDefault();
    string version = obj["Caption"].ToString();                 //Microsoft Windows 10 Home
    string architecture = obj["OSArchitecture"].ToString();     //64-bit
}
使用(var searcher=newmanagementobjectsearcher(“从Win32\u操作系统中选择*))
{
var obj=searcher.Get().Cast().FirstOrDefault();
string version=obj[“Caption”].ToString();//Microsoft Windows 10 Home
string architecture=obj[“OSArchitecture”].ToString();//64位
}

@BrootsWaymb是的,谢谢,当我在谷歌上搜索如何在C#中获取windows edition时,出于某种原因没有出现在谷歌上…@BrootsWaymb是的,谢谢,当我在谷歌上搜索如何在C#中获取windows edition时,出于某种原因没有出现在谷歌上。。。