关于System.OperatingSystem类的问题

时间:2010-09-14 08:07:18

标签: .net

以下代码

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            OperatingSystem os = Environment.OSVersion;
            Console.WriteLine( os.Version.Major.ToString());
            Console.ReadLine();
        }
    }
}

在Vista和Win7上输出 6 如何判断我的代码是在Win7上运行还是在Win7之前运行 这是使用.NET frameworks 2.0

2 个答案:

答案 0 :(得分:3)

查看Version.Minor属性。 Vista为0,Windows 7为1。

换句话说,您的代码可能是:

        OperatingSystem os = Environment.OSVersion;
        string version;
        if ( os.Version.Major < 6 ) 
            version = "Older Windows";
        else if (os.Version.Major == 6 ) 
        {
             if (os.Version.Minor == 0 ) 
                 version = "Vista";
             if (os.Version.Minor == 1 ) 
                 version = "Windows 7"
        }

答案 1 :(得分:3)

检查次要版本。 6.0是Vista,6.1是Windows7。

检查this关于检测操作系统版本的优秀帖子,并阅读有关区分服务器和工作站的讨论。