如何测试操作系统版本是否大于Windows XP SP2

时间:2009-07-09 13:19:59

标签: .net asp.net

您好,我正在写一段代码,我想确保代码在操作系统是WindowsXPSP2或更高版本的机器上执行。我有操作系统版本的操作系统ex.5.1.5.2等等。

我只想知道如何确保操作系统是WindowsXPSP2还是更高版本? 我可以用版本号>进行检查吗? 5.1

4 个答案:

答案 0 :(得分:2)

试试:

Version versionXPSP2 = new Version(5,2);
if (Environment.OSVersion.Version >= versionXPSP2)
{
    // this is XP SP2 or higher
}

(未经测试)

修改 上面的代码实际上不起作用......这是另一个:

Version version = Environment.OSVersion
if (version.Major > 5 || (version.Major == 5 && version.Minor >= 1 && version.ServicePack >= "Service Pack 2"))
{
    // this is XP SP2 or higher
}

答案 1 :(得分:1)

或者,您可以使用

查询Service Pack字符串
Environment.OSVersion.ServicePack

答案 2 :(得分:0)

您可以使用版本5和OperatingSystem.ServicePack属性:

OperatingSystem os = Environment.OSVersion;
if (os.Version.Major > 5 || (os.Version.Major == 5 && os.Version.Minor >= 1 && Int32.Parse(os.ServicePack.Replace("Service Pack ", "")) >= 2))
{

}
else
{
    throw new Exception("OS not supported.");
}

我无法测试它,它基于Thomas的版本号。

答案 3 :(得分:0)

查看System.Environment.OSVersion

我认为XP是Major版本5,次要版本1.您可能还需要检查Platform属性以确保它在您认为正在运行的操作系统类型上运行(即不是Mac,Unix,WinCE,Xbox等)。