gpt4 book ai didi

c# - 如何区分Windows的服务器版本和客户端版本?

转载 作者:太空狗 更新时间:2023-10-29 21:24:29 25 4
gpt4 key购买 nike

如何区分服务器版本和客户端版本的Windows?示例:XP、Vista、7 与 Win2003、Win2008。

UPD:需要一个方法,例如

bool IsServerVersion()
{
return ...;
}

最佳答案

好的,Alex,看来您可以使用 WMI 来找出答案:

using System.Management;

public bool IsServerVersion()
{
var productType = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
.Get().OfType<ManagementObject>()
.Select(o => (uint)o.GetPropertyValue("ProductType")).First();

// ProductType will be one of:
// 1: Workstation
// 2: Domain Controller
// 3: Server

return productType != 1;
}

您需要引用项目中的 System.Management 程序集。

或者没有任何 LINQ 类型功能的 .NET 2.0 版本:

public bool IsServerVersion()
{
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem"))
{
foreach (ManagementObject managementObject in searcher.Get())
{
// ProductType will be one of:
// 1: Workstation
// 2: Domain Controller
// 3: Server
uint productType = (uint)managementObject.GetPropertyValue("ProductType");
return productType != 1;
}
}

return false;
}

关于c# - 如何区分Windows的服务器版本和客户端版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6368370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com