2010-03-12 37 views
2

我使用http://www.rgagnon.com/javadetails/java-0580.html的代碼來獲取主板ID,但結果是「null」。如何獲取處理器和主板ID?

  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它說:

處理器ID:處理器信息描述處理器功能的功能。對於x86類CPU,字段格式取決於處理器對CPUID指令的支持。如果支持指令,則該屬性包含2(2)個DWORD格式的值。第一個是08h-0Bh的偏移量,它是CPUID指令在輸入EAX設置爲1時返回的EAX值。第二個是0Ch-0Fh的偏移量,即指令返回的EDX值。只有屬性的前兩個字節是重要的,並且在CPU復位時包含DX寄存器的內容 - 所有其他字節都設置爲0(零),並且內容採用DWORD格式。

我不太明白;用簡單的英語來說,它是獨一無二的還是僅僅是這類處理器的一個數字,例如所有的Intel Core2 Duo P8400都會有這個數字?

回答

3

將eax設置爲1時,cpuid操作碼將返回eax中的處理器類型,familly等,以及edx中的處理器特性。所以你會得到的不是唯一的東西,比如CPU序列號。

相關問題