5

実行しているプラ​​ットフォームに基づいて、アップグレードされたバージョンのプログラムへの正しいリンクをユーザーに提供したいので、現在x86OSとx64OSのどちらで実行しているかを知る必要があります。

私が見つけた最高のものは使用することですがEnvironment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE")、これにはいくつかの組み込み機能があると思いますか?

4

5 に答える 5

5

Environment.Is64BitOperatingSystemEnvironment.Is64BitProcessは .NET 4 で導入されています。.NET 2 の場合は、他のいくつかの回答を試す必要があります。

于 2009-12-10T14:26:07.430 に答える
4

IsWow64Process32ビットプロセスが64ビットオペレーティングシステムのWOW64で実行されているかどうかを確認するために呼び出します。GetNativeSystemInfo正確にそれが何であるかを知るために呼び出すことができます:のwProcessorArchitecture memberは32ビット、x64、およびIntelのItanium用になります。SYSTEM_INFOPROCESSOR_ARCHITECTURE_INTELPROCESSOR_ARCHITECTURE_AMD64PROCESSOR_ARCHITECTURE_IA64

于 2008-09-18T14:33:17.237 に答える
0

Marshal.SizeOfでIntPtrのサイズを確認してください。32ビット=4バイト、64ビット=8バイト。

編集:質問をもう一度読んだ後、これがあなたが探しているものかどうかはわかりません。

于 2008-09-18T08:10:25.490 に答える
0

C#で使用されているように、環境変数を介して多くのことを判断できます- Windows 64 ビットでプログラム ファイル (x86) を取得する方法Program Files ディレクトリ名]

于 2009-12-10T14:20:04.827 に答える
-2

だけをチェックしてくださいIntPtr.Size。ターゲット プラットフォームが AnyCPU である必要があります。

ここから

于 2008-09-18T08:27:37.290 に答える