OSとプロセスの2種類が用意されているわけだが、これはなぜかというと、「WOW64(Windows 32bit emulation On Windows 64bit)」という機能によって、64bit OS上でも32bitプロセス空間でアプリケーションが実行できるからだ。このWOW64環境下では、OSは64bit版でも、プロセスは32bitということになる。
下記のコードは、上記の2種類のプロパティを呼び出すコンソール・アプリケーションのサンプルである。
using System;
class Program
{
static void Main()
{
if (Environment.Is64BitOperatingSystem)
Console.WriteLine("64bit OS");
else
Console.WriteLine("32bit OS");
// 出力例:64bit OS
if (Environment.Is64BitProcess)
Console.WriteLine("64bitプロセス");
else
Console.WriteLine("32bitプロセス");
// 出力例:32bitプロセス
Console.ReadLine(); // 実行を停止
}
}
Module Module1
Sub Main()
If Environment.Is64BitOperatingSystem Then
Console.WriteLine("64bit OS")
Else
Console.WriteLine("32bit OS")
End If
' 出力例:64bit OS
If Environment.Is64BitProcess Then
Console.WriteLine("64bitプロセス")
Else
Console.WriteLine("32bitプロセス")
End If
' 出力例:32bitプロセス