如何判断我是使用.NET的x64还是x86?
问题描述:
我想根据运行的平台为我的用户提供正确的升级版本的链接,因此我需要知道我目前是在x86操作系统还是在x64操作系统上运行。如何判断我是使用.NET的x64还是x86?
我发现的最好的方法是使用Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE")
,但我认为会有一些内置的设施?
答
呼叫IsWow64Process
找出如果您的32位过程在WOW64运行64位操作系统上。你可以拨打GetNativeSystemInfo
找出它到底是什么:wProcessorArchitecture member
的SYSTEM_INFO
将为PROCESSOR_ARCHITECTURE_INTEL
为32位,PROCESSOR_ARCHITECTURE_AMD64
为x64和PROCESSOR_ARCHITECTURE_IA64
为英特尔的安腾。
答
您可以确定通过环境变量很多,如C# - How to get Program Files (x86) on Windows 64 bit使用[而这恰巧适合我不是小李的答案,我对此+1,因为我正好是热衷于寻找Program Files目录名更好]
你应该接受一个答案或解释你最终做了什么并接受。 – 2009-12-10 14:07:01