深入C#判断操作系统类型的总结详解

 更新时间:2013年05月20日 10:53:00   作者:  
本篇文章是对在C#中判断操作系统类型的总结进行了详细的分析介绍,需要的朋友参考下

Windows操作系统的版本号一览

操作系统  PlatformID  主版本号  副版本号
 Windows95  1  4  0
 Windows98  1  4  10
 WindowsMe  1  4  90
 WindowsNT3.5  2  3  0
 WindowsNT4.0  2  4  0
 Windows2000  2  5  0
 WindowsXP  2  5  1
 Windows2003  2  5  2
 WindowsVista  2  6  0
 Windows7  2  6  1
 Windows8      

获取操作系统信息的相关类或属性
复制代码 代码如下:

//获取系统信息
System.OperatingSystem osInfo = System.Environment.OSVersion;
//获取操作系统ID
System.PlatformID platformID = osInfo.Platform;
//获取主版本号
int versionMajor = osInfo.Version.Major;
//获取副版本号
int versionMinor = osInfo.Version.Minor;

System.PlatformID枚举值及其含义
复制代码 代码如下:

Win32S  操作系统为 Win32s(Win32 子集)类型。
Win32s 是运行于 Windows 16 位版本上的层,它提供对 32 位应用程序的访问。
Win32Windows  操作系统为 Windows 95 或较新的版本。
Win32NT 操作系统为 Windows NT 或较新的版本。
WinCE   操作系统为 Windows CE。
Unix    操作系统为 Unix。
Xbox    开发平台为 Xbox 360。

示例
复制代码 代码如下:

//C#判断操作系统是否为Windows98
public static bool IsWindows98
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32Windows) && (Environment.OSVersion.Version.Minor == 10) && (Environment.OSVersion.Version.Revision.ToString() != "2222A");
    }
}
//C#判断操作系统是否为Windows98第二版
public static bool IsWindows98Second
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32Windows) && (Environment.OSVersion.Version.Minor == 10) && (Environment.OSVersion.Version.Revision.ToString() == "2222A");
    }
}
//C#判断操作系统是否为Windows2000
public static bool IsWindows2000
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor == 0);
    }
}
//C#判断操作系统是否为WindowsXP
public static bool IsWindowsXP {
    get {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor == 1);
    }
}
//C#判断操作系统是否为Windows2003
public static bool IsWindows2003
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor == 2);
    }
}
//C#判断操作系统是否为WindowsVista
public static bool IsWindowsVista
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 6) && (Environment.OSVersion.Version.Minor == 0);
    }
}
//C#判断操作系统是否为Windows7
public static bool IsWindows7
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 6) && (Environment.OSVersion.Version.Minor == 1);
    }
}
//C#判断操作系统是否为Unix
public static bool IsUnix
{
    get
    {
        return Environment.OSVersion.Platform == PlatformID.Unix;
    }
}

相关文章

  • C#调用OutLokk实现发送邮件

    C#调用OutLokk实现发送邮件

    这篇文章主要为大家详细介绍了如何利用C#调用OutLokk实现发送邮件的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C#中使用基数排序算法对字符串进行排序的示例

    C#中使用基数排序算法对字符串进行排序的示例

    Radix Sort基数排序是非比较型的排序算法,其时间复杂度是O(k·n),n为元素个数,为数字位数,这里我们就来看一下C#中使用基数排序算法堆字符串进行排序的示例
    2016-06-06
  • 详解c#中Array,ArrayList与List<T>的区别、共性与相互转换

    详解c#中Array,ArrayList与List<T>的区别、共性与相互转换

    本文详细讲解了c#中Array,ArrayList与List<T>的区别、共性与相互转换,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C#中Socket与Unity相结合示例代码

    C#中Socket与Unity相结合示例代码

    这篇文章主要给大家介绍了关于C#中Socket与Unity相结合的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10
  • C# FileStream实现多线程断点续传

    C# FileStream实现多线程断点续传

    这篇文章主要为大家详细介绍了C# FileStream实现多线程断点续传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • C#语言MVC框架Aspose.Cells控件导出Excel表数据

    C#语言MVC框架Aspose.Cells控件导出Excel表数据

    这篇文章主要为大家详细介绍了C#语言MVC框架Aspose.Cells控件导出Excel表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • c#批量上传图片到服务器示例分享

    c#批量上传图片到服务器示例分享

    这篇文章主要介绍了c#批量上传图片到服务器示例,服务器端需要设置图片存储的虚拟目录,需要的朋友可以参考下
    2014-03-03
  • C#中判断某类型是否可以进行隐式类型转换

    C#中判断某类型是否可以进行隐式类型转换

    在我们采用反射动态调用一些方法时,常常涉及到类型的转换,直接判断类型是否相符有时不能判断调用方法是否合适
    2013-04-04
  • C#使用Stack类进行堆栈设计详解

    C#使用Stack类进行堆栈设计详解

    C#中的堆栈由System.Collections.Generic命名空间中的Stack类定义,那么下面就跟随小编一起学习一下C#如何Stack类进行堆栈设计吧
    2024-03-03
  • C# Winform选项卡集成窗体详解

    C# Winform选项卡集成窗体详解

    这篇文章主要为大家详细介绍了C# Winform选项卡集成窗体详解的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论