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;

相关阅读 >>

Delphi webbrowser1 execwb 复制 新建 打开

Delphi tstringlist的delimitedtext的空格问题

datasnap 上传/下载大文件(本demo以图传片文件为例)

Delphi tstringlist stringlist的特殊用法

Delphi unidac 连接mdb access 数据库

Delphi的tservice的windows�入桌面切�q

Delphi的整数性能测试

Delphi 10.4.1的编译器bug终于修正了!

Delphi 判断两个时间差是否在一个指定范围内 -withinpastyears、withinpastmonths、withinpastweeks、withinpastdays

Delphi 截取绝对路径的文件名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...