精易论坛

标题: 做了一个用WindowsNT版本检测系统版本的程序,代码没错但是出问题了 [打印本页]

作者: zzx040808    时间: 2015-10-29 21:34
标题: 做了一个用WindowsNT版本检测系统版本的程序,代码没错但是出问题了
本人用Visual Studio C#编写了一套程序,使用Windows NT版本来检测Windows版本。本人的系统是Windows 10,Windows NT版本应该是10.0,但是程序却将我的系统识别成了NT 6.2的Windows 8,一直没发现哪里有错误,请大神帮忙! 检测系统版本示例.zip (208.46 KB, 下载次数: 2)
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             OperatingSystem os = Environment.OSVersion;
  4.             switch (os.Platform)
  5.             {
  6.                 case PlatformID.Win32Windows:
  7.                     switch (os.Version.Minor)
  8.                     {
  9.                         case 0:
  10.                             label1.Text = "Windows 95";
  11.                             break;
  12.                         case 10:
  13.                             if (os.Version.Revision.ToString() == "2222A")
  14.                                 label1.Text = "Windows 98 第二版";
  15.                             else
  16.                                 label1.Text = "Windows 98";
  17.                             break;
  18.                         case 90:
  19.                             label1.Text = "Windows Me";
  20.                             break;
  21.                     }
  22.                     break;
  23.                 case PlatformID.Win32NT:
  24.                     switch (os.Version.Major)
  25.                     {
  26.                         case 3:
  27.                             label1.Text = "Windows NT 3.51";
  28.                             break;
  29.                         case 4:
  30.                             label1.Text = "Windows NT 4.0";
  31.                             break;
  32.                         case 5:
  33.                             switch (os.Version.Minor)
  34.                             {
  35.                                 case 0:
  36.                                     label1.Text = "Windows 2000";
  37.                                     break;
  38.                                 case 1:
  39.                                     label1.Text = "Windows XP";
  40.                                     break;
  41.                                 case 2:
  42.                                     label1.Text = "Windows 2003";
  43.                                     break;
  44.                             }
  45.                             break;
  46.                         case 6:
  47.                             switch (os.Version.Minor)
  48.                             {
  49.                                 case 0:
  50.                                     label1.Text = "Windows Vista";
  51.                                     break;
  52.                                 case 1:
  53.                                     label1.Text = "Windows 7";
  54.                                     break;
  55.                                 case 2:
  56.                                     label1.Text = "Windows 8";
  57.                                     break;
  58.                                 case 3:
  59.                                     label1.Text = "Windows 8.1";
  60.                                     break;
  61.                             }
  62.                             break;
  63.                         case 10:
  64.                             switch (os.Version.Minor)
  65.                             {
  66.                                 case 0:
  67.                                     label1.Text = "Windows 10";
  68.                                     break;
  69.                             }
  70.                             break;
  71.                     }
  72.                     break;
  73.             }
  74.         }
复制代码

@1440126177

作者: ╬部落酋长o    时间: 2015-10-30 01:08
API帮助你,看百度介绍,GetVersion
作者: 序列号    时间: 2016-11-21 10:13
//C#判断操作系统是否为Windows98
public bool IsWindows98
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32Windows) && (Environment.OSVersion.Version.Minor == 10) && (Environment.OSVersion.Version.Revision.ToString() != "2222A");
    }
}
//C#判断操作系统是否为Windows98第二版
public bool IsWindows98Second
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32Windows) && (Environment.OSVersion.Version.Minor == 10) && (Environment.OSVersion.Version.Revision.ToString() == "2222A");
    }
}
//C#判断操作系统是否为Windows2000
public bool IsWindows2000
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor == 0);
    }
}
//C#判断操作系统是否为WindowsXP
public bool IsWindowsXP
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor == 1);
    }
}
//C#判断操作系统是否为Windows2003
public bool IsWindows2003
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor == 2);
    }
}
//C#判断操作系统是否为WindowsVista
public bool IsWindowsVista
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 6) && (Environment.OSVersion.Version.Minor == 0);
    }
}
//C#判断操作系统是否为Windows7
public bool IsWindows7
{
    get
    {
        return (Environment.OSVersion.Platform == PlatformID.Win32NT) && (Environment.OSVersion.Version.Major == 6) && (Environment.OSVersion.Version.Minor == 1);
    }
}
//C#判断操作系统是否为Unix
public bool IsUnix
{
    get
    {
        return Environment.OSVersion.Platform == PlatformID.Unix;
    }
}
作者: zzfox    时间: 2016-11-22 10:17
万能的5精币
作者: mutousoft    时间: 2016-11-22 16:14
学习一下,大神解决了吗




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4