可能性の重複:
How to detect Windows 64 bit platform with .net?32または64ビットマシン
マシンが64または32ビットである場合、私は、このコードtiのチェックを使用しています:
public static string GetOSBit()
{
bool is64bit = Is64Bit();
if (is64bit)
return "64 bit";
else
return "32 bit";
}
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool lpSystemInfo);
public static bool Is64Bit()
{
bool retVal;
IsWow64Process(Process.GetCurrentProcess().Handle, out retVal);
return retVal;
}
私は32ビットマシンを持っており、それは私のために大丈夫です。 「32ビット」を返します。私の友人は32ビットマシンも持っていますが、64ビットの仮想マシンをインストールしています。上記のコードは、仮想マシンでは「32ビット」を返しますが、64ビットです。 私はC#、.Net 2.0で働いています。
APIが示唆するように、これはマシンではなくプロセスを表します。 – sehe