当前位置:  开发笔记 > 编程语言 > 正文

如何知道我的处理器在C#中是32位还是64位?

如何解决《如何知道我的处理器在C#中是32位还是64位?》经验,为你挑选了3个好方法。

如何知道我的处理器在C#中是32位还是64位?



1> Peter Ritchi..:

对于使用.NET 4.0或更高版本的任何人,都有一个内置属性System.Environment.Is64BitOperatingSystem来为您提供此信息.



2> andleer..:

本地检查C#的最简单方法是:

var size = IntPtr.Size;

大小将等于4或8,但更大的问题是为什么你需要知道?


这并不能告诉你它是什么类型的处理器,只是当前应用程序的运行方式.

3> 小智..:

您可以使用以下命令查询WMI类:Win32_ProcessorSystem.Management.ManagementObject

ManagementObject mo;
mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
ushort i = (ushort)mo["Architecture"];

switch (i)
{
case 0:
  return "32 Bit";
  break;
case 9:
  return "64 Bit";
  break;
}

查看其他处理器代码的MSDN Library说明.

这样做的一个问题是运行程序的用户需要查看WMI的权限.


我可以在没有管理权限的情况下查询Win32_Processor类(来自PowerShell).您也可以只查询AddressWidth/DataWidth而不是架构,因为架构6(Itanium)也是64位.不要以为那里只有x86和x86_64.
推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有