您好,我正在写一段代码,我想确保代码在操作系统是WindowsXPSP2或更高版本的机器上执行。我有操作系统版本的操作系统ex.5.1.5.2等等。
我只想知道如何确保操作系统是WindowsXPSP2还是更高版本? 我可以用版本号>进行检查吗? 5.1
答案 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等)。