32或64位机器
本文关键字:机器 64位 | 更新日期: 2023-09-27 18:14:05
可能重复:
如何用.net检测Windows 64位平台?
我使用这个代码来检查机器是64位还是32位:
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中工作。
函数IsWow64Process
确定指定的进程是否在WOW64下运行。因此,基本上,当为在64位操作系统下运行的32位进程调用时,它会返回true
。
您可以使用Environment.Is64BitOperatingSystem
。
有关更多答案和讨论,请参阅此问题。
编辑:哦,没看到这个问题是关于.net 2.0的。(保留答案以供参考。(