如果不清楚程序是多少位运行的,可在vs中的调试->寄存器调试窗口查看寄存器的寻址位数,如果是32位的exe则寄存器寻址显示32位,64位的exe则显示64位寻址
1、根据IntPtr.Size来判断,如果值为4则是32位,如果为8则是64位,所有.NET版本都支持。
复制
if (IntPtr.Size == 4)
{
// 32-bit
}
else if (IntPtr.Size == 8)
{
// 64-bit
}
else
{
//未来肯定有
}
2、如果.NET的版本是4.0或之后,则可以用Environment.Is64BitProcess来判断当前进程是否是64位的。
复制
if(Environment.Is64BitProcess)
{
//64-bit
}
else
{
//估计很长一段时间内都是32-bit
}