C# 如何获取操作系统架构(x86或x64)?

5

可能是重复问题:
如何使用 .NET 检测 Windows 64 位平台?

如何使用 .NET 2.0 检索操作系统架构(x86 或 x64)?

我在 Google 上没有找到任何好的方法来获取操作系统架构。我找到的是如何判断进程是32位还是64位。

如果在 .NET 2.0 中没有找到任何方法,请告诉我。 :)


2
如何使用 .NET 检测 Windows 64 位平台?的副本。 - djdd87
使用这个:"Environment.Is64BitOperatingSystem" - Elyas Nategh
1个回答

13

虽然不是重复问题中被接受的答案,但这是我会做的方法:

使用GetEnvironmentVariable查找PROCESSOR_ARCHITEW6432变量。如果它不存在,那么您必须运行32位系统:

bool is64bit = !string.IsNullOrEmpty(
    Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"));

3
这似乎比“dup”中被接受的答案要简单得多。 - Kirk Woll
显然,这是为WOW64进程设置的(即在64位操作系统上运行的32位代码)。似乎这是一种不太可靠的检查方式。有什么办法阻止我设置该环境变量,只是为了好玩,或者只是因为我喜欢给你的代码制造麻烦? - asveikau
@asveikau - 什么都没有。这是一段更简单的代码,但像你说的那样,不是100%可靠的。 - djdd87

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接