如果你想要检测操作系统版本的信息,可以使用以下代码来获取:
using System;
using Microsoft.Win32;
class Program
{
static void Main()
{
string osVersion = GetOSVersion();
Console.WriteLine("当前操作系统版本为: " + osVersion);
Console.ReadKey();
}
public static string GetOSVersion()
{
string osVersion = "";
OperatingSystem os = Environment.OSVersion;
PlatformID pid = os.Platform;
switch (pid)
{
case PlatformID.Win32s:
osVersion = "Windows 3.1 with Win32s";
break;
case PlatformID.Win32Windows:
switch (os.Version.Minor)
{
case 0:
osVersion = "Windows 95";
break;
case 10:
osVersion = "Windows 98";
break;
case 90:
osVersion = "Windows Me";
break;
}
break;
case PlatformID.WinCE:
osVersion = "Windows CE";
break;
case PlatformID.Win32NT:
switch (os.Version.Major)
{
case 3:
osVersion = "Windows NT 3.51";
break;
case 4:
osVersion = "Windows NT 4.0";
break;
case 5:
if (os.Version.Minor == 0)
{
osVersion = "Windows 2000";
}
else
{
osVersion = "Windows XP";
}
break;
case 6:
if (os.Version.Minor == 0)
{
osVersion = "Windows Vista";
}
else if (os.Version.Minor == 1)
{
osVersion = "Windows 7";
}
else if (os.Version.Minor == 2)
{
osVersion = "Windows 8";
}
break;
case 10:
osVersion = "Windows 10";
break;
}
break;
}
return osVersion;
}
}
在上面的代码中,我们使用了 Environment.OSVersion
方法来获取当前操作系统的版本号。由于 OSVersion
对象中不包含完整的操作系统版本信息,因此我们需要通过分析 PlatformID
和 Version
属性来确定操作系统的确切版本号。在上面的示例代码中,我们使用了 switch
语句对不同的平台和版本号进行了判断,并返回了相应的操作系统版本字符串。
除了上面的代码,我们也可以使用 WMI (Windows Management Instrumentation) 来获取操作系统版本信息。以下是使用 WMI 的示例代码:
using System;
using System.Management;
using System.Linq;
class Program
{
static void Main()
{
string osVersion = GetOSVersionWMI();
Console.WriteLine("当前操作系统版本为: " + osVersion);
Console.ReadKey();
}
public static string GetOSVersionWMI()
{
string osVersion = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem");
ManagementObjectCollection managementObjectCollection = searcher.Get();
foreach (ManagementObject obj in managementObjectCollection)
{
osVersion = obj["Caption"].ToString();
}
return osVersion;
}
}
在上面的代码中,我们使用了 ManagementObjectSearcher
和 ManagementObjectCollection
类来检索 WMI 信息。我们使用了 SELECT Caption FROM Win32_OperatingSystem
查询来获取当前操作系统的版本信息。由于查询返回的信息可能包括多个属性,因此我们需要使用一个循环来遍历返回的结果集并获取我们需要的信息。在上面的示例代码中,我们使用了一个 foreach
循环来获取操作系统版本字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#如何检测操作系统版本 - Python技术站