请问如何获取CPU的序列号。

解决方案 »

  1.   

    type
       TCPUID  = array[1..4] of Longint;function GetCPUID : TCPUID; assembler; register;     //得到CPU序列号
    asm
      PUSH    EBX         {Save affected register}
      PUSH    EDI
      MOV     EDI,EAX     {@Resukt}
      MOV     EAX,1
      DW      $A20F       {CPUID Command}
      STOSD           {CPUID[1]}
      MOV     EAX,EBX
      STOSD               {CPUID[2]}
      MOV     EAX,ECX
      STOSD               {CPUID[3]}
      MOV     EAX,EDX
      STOSD               {CPUID[4]}
      POP     EDI {Restore registers}
      POP     EBX
    end;
      

  2.   

    TCPUIDARRAY=array[1..4] of Longint;function GetCPUID : TCPUIDARRAY; assembler;register;
    asm
      PUSH EBX {Save affected register}
      PUSH EDI
      MOV EDI,EAX {@Resukt}
      MOV EAX,1
      DW $A20F {CPUID Command}
      STOSD {CPUID[1]}
      MOV EAX,EBX
      STOSD {CPUID[2]}
      MOV EAX,ECX
      STOSD {CPUID[3]}
      MOV EAX,EDX
      STOSD {CPUID[4]}
      POP EDI {Restore registers}
      POP EBX
    end;没有整理过的数据,自己处理吧.在Win2000下测试通过.