本文整理自网络,侵删。
typeTCPUID = 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 EBXend;
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);beginmemo1.Lines.Add(GetCPUCode);end;
相关阅读 >>
Delphi webbrowser1 execwb 复制 新建 打开
Delphi tstringlist的delimitedtext的空格问题
datasnap 上传/下载大文件(本demo以图传片文件为例)
Delphi tstringlist stringlist的特殊用法
Delphi unidac 连接mdb access 数据库
Delphi的tservice的windows�入桌面切�q
Delphi 判断两个时间差是否在一个指定范围内 -withinpastyears、withinpastmonths、withinpastweeks、withinpastdays
更多相关阅读请进入《Delphi》频道 >>