admin 管理员组文章数量: 1086019
参考
https://blog.csdn/abelia/article/details/93908598
常规判断方法如下,系统版本号和副版本号有重复情况
//-----------------
//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;
}
}
根据下面的 Windows 操作系统名称和版本好的对应关系表,可以发现很多不同系列的操作系统拥有相同的主版本号和子版本号,因此通过比对版本号的方式来判断操作系统名称是很不靠谱。
±-----------------------------------------------------------------------------------+
| | PlatformID | Major version | Minor version |
±-----------------------------------------------------------------------------------+
| Windows 95 | Win32Windows | 4 | 0 |
| Windows 98 | Win32Windows | 4 | 10 |
| Windows Me | Win32Windows | 4 | 90 |
| Windows NT 4.0 | Win32NT | 4 | 0 |
| Windows 2000 | Win32NT | 5 | 0 |
| Windows XP | Win32NT | 5 | 1 |
| Windows XP 64-Bit Edition| Win32NT | 5 | 1 |
| Windows 2003 | Win32NT | 5 | 2 |
| Windows Server 2003 | Win32NT | 5 | 2 |
| Windows Server 2003 R2 | Win32NT | 5 | 2 |
| Windows 2003 | Win32NT | 5 | 2 |
| Windows Vista | Win32NT | 6 | 0 |
| Windows 2008 | Win32NT | 6 | 0 |
| Windows Server 2008 | Win32NT | 6 | 0 |
| Windows 7 | Win32NT | 6 | 1 |
| Windows 2008 R2 | Win32NT | 6 | 1 |
| Windows Server 2008 R2 | Win32NT | 6 | 1 |
| Windows 8 | Win32NT | 6 | 2 |
| Windows Server 2012 | Win32NT | 6 | 2 |
| Windows 8.1 | Win32NT | 6 | 3 |
| Windows Server 2012 R2 | Win32NT | 6 | 3 |
±-----------------------------------------------------------------------------------+
| Windows Server 2016 Technical Preview| Win32NT| 10 | 0 |
| Windows 10 | Win32NT | 10 | 0 |
±-----------------------------------------------------------------------------------+
如下取得系统名称 ,没有重复情况
需要引用 Microsoft.VisualBasic.Devices
using Microsoft.VisualBasic.Devices;
ComputerInfo info = new ComputerInfo();
string osFullName = info.OSFullName;
版权声明:本文标题:c#获取 windows系统版本号和系统名称 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1737071027a1772840.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论