📜  vb.net 检查操作系统 - C# (1)

📅  最后修改于: 2023-12-03 14:48:16.854000             🧑  作者: Mango

VB.NET/C#检查操作系统介绍

在编程中,我们常常需要针对不同的操作系统进行不同的处理,如何检查当前操作系统类型是很必要的。本文将介绍使用VB.NET/C#编写代码来检查当前操作系统类型的方法。

检查操作系统类型

我们可以使用Environment类中的OSVersion属性来获得操作系统信息,这个属性返回一个OperatingSystem对象,通过此对象我们可以获取到操作系统的版本号、平台等信息。

OperatingSystem os = Environment.OSVersion;

在VB.NET中也可以使用相同的代码:

Dim os As OperatingSystem = Environment.OSVersion

通过操作系统对象,我们可以获得操作系统的版本和平台等详细信息。根据这些信息,我们可以判断当前操作系统是否是Windows,并且判断具体的版本。

判断当前操作系统是否是Windows

我们可以使用操作系统对象的Platform属性来判断当前操作系统的平台。如果是Win32NT或Win32Windows平台,则说明当前操作系统是Windows。代码如下:

bool isWindows = (os.Platform == PlatformID.Win32NT || os.Platform == PlatformID.Win32Windows);

在VB.NET中也可以使用相同的代码:

Dim isWindows As Boolean = (os.Platform = PlatformID.Win32NT OrElse os.Platform = PlatformID.Win32Windows)
判断当前Windows操作系统版本

在判断当前操作系统是否是Windows之后,我们可以通过判断版本号来具体确定操作系统的版本。

以下是Windows操作系统版本号的对应关系:

Operation System | Version | Product Name ------------------|---------|---------------- Windows 95 | 4.0 | Windows 95 Windows 98 | 4.1 | Windows 98 Windows Me | 4.9 | Windows Millennium Edition Windows NT 3.5 | 3.5 | Windows NT 3.5 Windows NT 4 | 4.0 | Windows NT 4.0 Windows 2000 | 5.0 | Windows 2000 Windows XP | 5.1 | Windows XP Windows Server 2003| 5.2 | Windows Server 2003 Windows Vista | 6.0 | Windows Vista Windows Server 2008| 6.1 | Windows Server 2008 Windows 7 | 6.1 | Windows 7 Windows 8 | 6.2 | Windows 8 Windows Server 2012| 6.2 | Windows Server 2012 Windows 8.1 | 6.3 | Windows 8.1 Windows Server 2012 R2 | 6.3 | Windows Server 2012 R2 Windows 10 | 10.0 | Windows 10 Windows Server 2016| 10.0 | Windows Server 2016

我们可以在代码中使用switch语句来根据操作系统版本号来判断操作系统的具体版本。代码如下:

string windowsVer = "Unknown";
if (isWindows)
{
    switch (os.Version.Major)
    {
        case 3:
            windowsVer = "Windows NT 3.5";
            break;
        case 4:
            windowsVer = "Windows NT 4.0";
            break;
        case 5:
            if (os.Version.Minor == 0)
            {
                windowsVer = "Windows 2000";
            }
            else if (os.Version.Minor == 1)
            {
                windowsVer = "Windows XP";
            }
            else if (os.Version.Minor == 2)
            {
                windowsVer = "Windows Server 2003";
            }
            break;
        case 6:
            if (os.Version.Minor == 0)
            {
                windowsVer = "Windows Vista";
            }
            else if (os.Version.Minor == 1)
            {
                windowsVer = "Windows Server 2008";
            }
            else if (os.Version.Minor == 2)
            {
                windowsVer = "Windows 8";
            }
            else if (os.Version.Minor == 3)
            {
                windowsVer = "Windows 8.1";
            }
            else
            {
                windowsVer = "Windows 10";
            }
            break;
        default:
            windowsVer = "Unknown";
            break;
    }
}

在VB.NET中也可以使用相同的代码:

Dim windowsVer As String = "Unknown"
If isWindows Then
    Select Case os.Version.Major
        Case 3
            windowsVer = "Windows NT 3.5"
            Exit Select
        Case 4
            windowsVer = "Windows NT 4.0"
            Exit Select
        Case 5
            If os.Version.Minor = 0 Then
                windowsVer = "Windows 2000"
            ElseIf os.Version.Minor = 1 Then
                windowsVer = "Windows XP"
            ElseIf os.Version.Minor = 2 Then
                windowsVer = "Windows Server 2003"
            End If
            Exit Select
        Case 6
            If os.Version.Minor = 0 Then
                windowsVer = "Windows Vista"
            ElseIf os.Version.Minor = 1 Then
                windowsVer = "Windows Server 2008"
            ElseIf os.Version.Minor = 2 Then
                windowsVer = "Windows 8"
            ElseIf os.Version.Minor = 3 Then
                windowsVer = "Windows 8.1"
            Else
                windowsVer = "Windows 10"
            End If
            Exit Select
        Case Else
            windowsVer = "Unknown"
            Exit Select
    End Select
End If
返回结果

最终,我们可以将操作系统的平台和版本信息以字符串的形式输出。代码如下:

string result = "Current OS is ";
if (isWindows)
{
    result += "Windows ";
    result += windowsVer;
}
else
{
    result += "Unknown";
}

return result;

在VB.NET中也可以使用相同的代码:

Dim result As String = "Current OS is "
If isWindows Then
    result += "Windows "
    result += windowsVer
Else
    result += "Unknown"
End If

Return result
总结

以上就是本文介绍的使用VB.NET/C#检查操作系统的方法。我们可以通过判断操作系统的平台和版本来实现针对不同操作系统的不同处理。