- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
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
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;
function GetCPUCode: string;
var
v: TCPUID;
begin
v := GetCPUID;
// ShowMessage(IntToStr(v[1]) +#13+ IntToStr(v[2]) +#13+ IntToStr(v[3]) +#13+ IntToStr(v[4]));
Result := IntToStr(Abs(v[3])); // + IntToStr(v[4]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Lines.Add(GetCPUCode);
end;