由于WMI类Win32_OperatingSystem仅包含Windows Vista中的OSArchitecture,因此我很快写了一种使用注册表的方法来尝试确定当前系统是32位还是64位系统。这是确定操作系统架构的好方法吗?
private Boolean is64BitOperatingSystem()
{
RegistryKey localEnvironment = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment");
String processorArchitecture = (String) localEnvironment.GetValue("PROCESSOR_ARCHITECTURE");
if (processorArchitecture.Equals("x86")) {
return false;
}
else {
return true;
}
}
到目前为止,它对我们来说非常好,但我不确定我喜欢通过注册表浏览多少。这是一个非常标准的做法还是有更好的方法?
编辑:哇,这段代码在预览中看起来更漂亮。下一次我会考虑链接到一个pastebin或其他东西。