delphi获取 CPUID

type   TCPUID=array[1..4] of Longint;
FUNCTION GetCPUID : TCPUID; 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;

调用

procedure TForm3.btn1Click(Sender: TObject);
var cpuid:TCPUID; i:integer;
begin
    cpuid:=GetCPUID;
    for i:=1 to 4 do ssss:=ssss+IntToHex(CPUID[i],4);
    ShowMessage(ssss);
end;
本文为“技术点滴”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注