我需要检测安装了什么类型(版本)的 Windows 操作系统。我的意思是,例如:“家庭”、“企业”或“专业”。请不要问为什么(我已经与需求向导进行了艰苦的斗争)。
现在的问题是 Windows 类型似乎是本地化的,我需要一种方法在 switch 语句中使用它们来执行不同的行为。
现在我这样做:
_os = (from x in new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get().OfType<ManagementObject>()
select x.GetPropertyValue("Caption")).First().ToString().Trim();
switch (_os)
{
case "Microsoft Windows XP Professional":
{
// Do professional stuff...
break;
}
case "Microsoft Windows 7 Professional":
case "Microsoft Windows 7 Ultimate":
case "Microsoft Windows 7 Enterprise":
{
// Do ultimate enterprisey professional stuff
break;
}
default:
{
// File not found
break;
}
}
任何人都知道如何做到这一点,以免遇到本地化问题?