Windows
C#
VisualStudio
VisualBasic
.NETFramework

俺は32ビットなのか、64ビットなのか。

More than 1 year has passed since last update.

.NET Framework4.0未満

  • IntPtr.Size = 8 の場合は 64 ビットモードでプロセスが動作している。
  • IntPtr.Size = 4 の場合は 32 ビットモードでプロセスが動作している。

IntPtrはIntのポインタサイズなのでバイトからビットへ変換すればいいと思うよ。

sampleFX2.vb
if IntPtr.Size = 8 then
    'ロクヨン
else
    'ハチロク
end if

.NET Framework4.0以上

Environment.Is64BitProcess を参照する
https://msdn.microsoft.com/ja-jp/library/system.environment.is64bitprocess(v=vs.110).aspx

sampleFX4.vb
if Environment.Is64BitProcess then
    'ロクヨン
else
    'ハチロク
end if