2009-07-09 15 views
1

こんにちは私は、コードがOSがWindowsXPSP2以上のマシンで実行されていることを確認したいコードを書いています。私はOSバージョン5.1,5.2などを持っています。OSのバージョンがWindows XP SP2よりも大きいかどうかをテストする方法

OSがWindowsXPSP2以上であることを確認するにはどうすればいいですか? バージョン番号> 5.1で確認できますか?

+1

Vistaであることを確認します。その場合、Windows XP SP2よりも少なくなります。 :-) – tvanfosson

+0

なぜこのタグはasp.netですか? Webアプリケーションでこれをやっていますか? – JoshBerke

答えて

2

それを試してみてください。

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

(テストしていません)

EDIT: 実際にここに...動作しません上記のコードは別のものである:

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

彼はSP3ではなくSP2を探しています –

+0

ええ、申し訳ありませんが、コピー&ペーストは...修正されます –

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."); 
} 

トーマスのバージョン番号に基づいてテストできませんでした。

0

を使用してサービスパック列を照会することができます。

私はXPがメジャーバージョン5、マイナーバージョン1であると信じています。プラットフォームプロパティをチェックして、実行していると思われるOSタイプ(つまりMac、Unix、WinCE、Xbox、等。)。