if (IntPtr.Size == 8)
{
// 64 bit machine
}
else if (IntPtr.Size == 4)
{
// 32 bit machine
}
Я нашел этот код от Martijn Boven, который добивается цели:
public static bool Is64BitMode() {
return System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) == 8;
}
Если вы используете .NET 4.0, это однострочный вариант для текущего процесса:
Environment.Is64BitProcess
Ссылка: Свойство Environment.Is64BitProcess (MSDN)