How do I tell if my application is running as a 32-bit or 64-bit application?
How do I tell if my application (compiled in Visual Studio 2008 as Any CPU) is running as a 32-bit or 64-bit application?
If you're using .NET 4.0, it's a one-liner for the current process:
Environment.Is64BitProcess
Reference: Environment.Is64BitProcess Property (MSDN)
if (IntPtr.Size == 8)
{
// 64 bit machine
}
else if (IntPtr.Size == 4)
{
// 32 bit machine
}
I found this code from Martijn Boven that does the trick:
public static bool Is64BitMode() {
return System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) == 8;
}