如何用.NET检测Windows 64位平台?

如何用.NET检测Windows 64位平台?

在..net2.0 C#应用程序-我使用以下代码检测操作系统平台:

string os_platform = System.Environment.OSVersion.Platform.ToString();

这将返回“Win32NT”。问题是,即使在WindowsVista 64位上运行时,它也会返回“Win32NT”。

是否有其他方法知道正确的平台(32位或64位)?

注意,在Windows 64位上作为32位应用程序运行时,它还应该检测64位。


牛魔王的故事
浏览 494回答 3
3回答

猛跑小猪

NET 4在环境类中有两个新属性,Is64BitProcess和IS 64BitOperatingSystem..有趣的是,如果您使用Reflector,您可以看到它们在32位和64位版本的mcorlib中的实现是不同的。32位版本返回Is64BitProcess的false,并通过Is64BitOperatingSystem的P/Invoke调用IsWow64Process。64位版本只对两者返回true。
打开App,查看更多内容
随时随地看视频慕课网APP