【发布时间】:2013-03-19 15:54:18
【问题描述】:
我需要检测安装的是什么类型(版本)的 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;
}
}
有谁知道如何避免遇到本地化问题?
【问题讨论】:
-
你看这里了吗? codeproject.com/Articles/73000/…
-
我会说这不是完全重复的(虽然我有错过了那个问题),因为那里的答案包括获取价值——但它可能是本地化的,我想避免这是我这个问题的重点。