インストールされている Windows OS のタイプ (エディション) を検出する必要があります。タイプとは、たとえば、「ホーム」、「エンタープライズ」、または「プロフェッショナル」を意味します。理由を尋ねないでください (私はすでに要件ウィザードとの苦闘を経験しています)。
現在の問題は、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;
}
}
ローカリゼーションの問題に遭遇しないようにこれを行う方法を知っている人はいますか?