【问题标题】:How to get Processor and Motherboard Id?如何获取处理器和主板 ID?
【发布时间】:2011-01-27 00:45:35
【问题描述】:

我使用http://www.rgagnon.com/javadetails/java-0580.html 中的代码获取主板ID,但结果为“null”。

  1. 怎么可能?

  2. 我还稍微修改了代码,使其看起来像这样以获得 ProcessorId:

    "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"+
                 "Set colItems = objWMIService.ExecQuery _ \n"+
                 "   (\"Select * from Win32_Processor\") \n"+
                 "For Each objItem in colItems \n"+
                 "    Wscript.Echo objItem.ProcessorId \n"+
                 "    exit for  ' do the first cpu only! \n"+
                 "Next \n";
    

结果类似于:ProcessorId = BFEBFBFF00010676

http://msdn.microsoft.com/en-us/library/aa389273%28VS.85%29.aspx 上面写着:

ProcessorId:描述处理器功能的处理器信息。对于 x86 类 CPU,字段格式取决于 CPUID 指令的处理器支持。如果支持该指令,则该属性包含 2(两个)DWORD 格式的值。第一个是偏移量 08h-0Bh,这是 CPUID 指令在输入 EAX 设置为 1 时返回的 EAX 值。第二个是偏移量 0Ch-0Fh,这是指令返回的 EDX 值。只有属性的前两个字节是有效的,并且包含 CPU 复位时 DX 寄存器的内容——所有其他字节都设置为 0(零),并且内容为 DWORD 格式。

我不太明白;简单来说,它是唯一的还是此类处理器的唯一编号,例如所有 Intel Core2 Duo P8400 都会有这个编号?

【问题讨论】:

    标签: windows processor motherboard


    【解决方案1】:

    将 eax 设置为 1 时,cpuid 操作码将返回 eax 中的处理器类型、系列等,以及 edx 中的处理器功能。所以你得到的不是唯一的东西,比如 CPU 序列号。

    【讨论】:

      猜你喜欢
      • 2012-10-17
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 2020-06-03
      • 1970-01-01
      相关资源
      最近更新 更多