.NET アプリケーションにおける 64 ビット Windows と 32 ビット Windows の決定
Environment.OSVersion.Platform
の検査などの古いプラットフォーム検出方法では、32 ビット Windows と 64 ビット Windows の両方で「Win32NT」が返されるため、正確な識別が困難になります。 .NET 4 は、Environment
クラス内に 2 つの重要なプロパティを備えたソリューションを提供します。
Is64BitProcess
: このプロパティは、現在のプロセスが 64 ビット アーキテクチャ内で実行されているかどうかを示します。Is64BitOperatingSystem
: このプロパティは、基礎となるオペレーティング システムが 64 ビット バージョンであるかどうかを示します。アーキテクチャ実装のバリエーション:
これらのプロパティの動作は、.NET ランタイム アーキテクチャに基づいて異なります。
Is64BitProcess
は false
を返します。Is64BitOperatingSystem
は IsWow64Process
Win32 API を利用して OS アーキテクチャを確認します。Is64BitProcess
と Is64BitOperatingSystem
はどちらも true
を返します。このアプローチにより、32 ビット .NET アプリケーションが 64 ビット Windows システムで実行されている場合でも、プラットフォームを正確に識別できます。 IsWow64Process
を使用すると、64 ビット OS 環境内で実行されている 32 ビット プロセスを効果的に区別できます。
要約:
.NET 4 の Is64BitProcess
プロパティと Is64BitOperatingSystem
プロパティは、開発者がプロセスとオペレーティング システムの両方の正確なアーキテクチャ (32 ビットまたは 64 ビット) を決定するための信頼できる方法を提供します。この正確な識別により、より優れたアプリケーション制御と最適化戦略が可能になります。
以上が.NETで32ビットと64ビットのウィンドウを確実に区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。