如何以编程方式确定我的处理器类型?

6

如何以编程方式确定我的计算机是x86、x64还是IA64?


1
你可以打开电脑并查看CPU。你是在寻找代码答案吗? - MSN
也许你的意思是问“如何确定我的机器类型?” - belgariontheking
1
奇怪。OP没有提到C#,VBScript或Java。 - Sean Bright
1
请查看此 Stack Overflow 问题 -> https://dev59.com/YXRA5IYBdhLWcg3wyRJ7 - msvcyc
这是一个编程问题:应该在stackoverflow.com上发布。 - Jeff
显示剩余2条评论
7个回答

6
今日免费次数已满, 请开通会员/明日再来
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_ARCHITECTURE=IA64
PROCESSOR_ARCHITECTURE=x86

不确定为什么这被标记为下降,输入到命令行中 echo % PROCESSOR_ARCHITECTURE% - Shial
MSDN的文章建议这告诉你操作系统的架构,而不是处理器类型(你可以在x86_64处理器上运行x86操作系统)。 - Ben Voigt

1

VBScript,检查PROCESSOR_ARCHITECTURE环境变量:

Set oShell = CreateObject("WScript.Shell")
Set oEnv = oShell.Environment("System")
Select Case LCase(oEnv("PROCESSOR_ARCHITECTURE"))
  Case "x86"
    ' x86
  Case "amd64"
    ' amd64
  Case "ia64"
    ' ia64
  Case Else
    ' other
End Select

使用WMI的VBScript:

Const PROCESSOR_ARCHITECTURE_X86  = 0
Const PROCESSOR_ARCHITECTURE_IA64 = 6
Const PROCESSOR_ARCHITECTURE_X64  = 9

strComputer = "."

Set oWMIService = GetObject("winmgmts:" & _
    "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessors = oWMIService.ExecQuery("SELECT * FROM Win32_Processor")

For Each oProcessor In colProcessors
  Select Case oProcessor.Architecture
    Case PROCESSOR_ARCHITECTURE_X86
      ' x86
    Case PROCESSOR_ARCHITECTURE_X64
      ' x64
    Case PROCESSOR_ARCHITECTURE_IA64
      ' ia64
    Case Else
      ' other
  End Select
Next

0

在C#中:

using System;
using Microsoft.Win32;

  class Class1
  {
    static void Main(string[] args)
    {
      RegistryKey RegKey = Registry.LocalMachine;
      RegKey = RegKey.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
      Object cpuSpeed = RegKey.GetValue("~MHz");
      Object cpuType  = RegKey.GetValue("VendorIdentifier");
      Console.WriteLine("You have a {0} running at {1} MHz.",cpuType,cpuSpeed);
    }
  }

你可能想获取“ProcessorNameString”而不是“VendorIdentifier”,因为它包含了厂商的常见型号名称。 - galaktor

0

cat /proc/cpuinfo


0
通常比底层处理器更重要的是操作系统运行的模式,除了主机上安装的处理器之外。
检查“uname -p”(或uname(2))的输出。
英特尔采用了AMD的64位指令扩展,因此“x86_64”的值意味着您正在运行Intel或AMD的64位处理器,否则您正在运行常规的x86 ISA。

-1

cpu-z是你想要的程序,它会告诉你你拥有哪种处理器以及它支持哪些扩展


1
http://www.cpuid-pro.com/index.php 是开发者的页面。如果需要的话,这将提供有关CPU、架构等的大量详细信息。 - joelmansford

-1
在Java中你不需要知道。;)

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