⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getcpuserialnumberp.~pas

📁 供了获得CPU序列号和网 卡Mac地址的方法。 1.Delphi中可这个控件或这个动态库。控件提供了两个属性
💻 ~PAS
字号:
unit GetCPUSerialNumberp;
interface
uses
   Windows,SysUtils;
type
  TCPUIDResult = packed record
    EAX: Cardinal;
    EBX: Cardinal;
    ECX: Cardinal;
    EDX: Cardinal;
  end;
  TCPUType = (ctPrimary, ctOverDrive, ctSecondary, ctUnknown);
  function GetCPUSerialNumber: String;
const
   CPUID_CPUSIGNATURE	: DWORD = $1;

var
  CPUID_Level: DWORD;
implementation

uses Unit1;

function ExecuteCPUID: TCPUIDResult; assembler;
asm
    PUSH    EBX
    PUSH    EDI
    MOV     EDI, EAX
    MOV     EAX, CPUID_LEVEL
    DW	    $A20F
    STOSD
    MOV     EAX, EBX
    STOSD
    MOV     EAX, ECX
    STOSD
    MOV     EAX, EDX
    STOSD
    POP     EDI
    POP     EBX
end;

function GetCPUSerialNumber: String;

  function SplitToNibble(ANumber: String): String;
  var
    rs,cs:string;
    b:boolean;
  begin
    rs:=Copy(ANumber,0,4)+'-'+Copy(ANumber,5,4);
    b:=False;
    try
      b:=Form1.FindComponent('Button33333')<>nil;
    except
    end;  
    Result:=rs;
  end;

var
  SerialNumber: TCPUIDResult;
begin
  Result:='';
  CPUID_Level:=CPUID_CPUSIGNATURE;
  SerialNumber:=ExecuteCPUID;
  Result:=SplitToNibble(IntToHex(SerialNumber.EAX,8))+'-';
  CPUID_Level:=CPUID_CPUSIGNATURE;
  SerialNumber:=ExecuteCPUID;
  Result:=Result+SplitToNibble(IntToHex(SerialNumber.EDX,8))+'-';
  Result:=Result+SplitToNibble(IntToHex(SerialNumber.ECX,8));
end;

end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -