
Bana bu konuda yardımcı olursanız sevinirim.
Kod: Tümünü seç
Serial number of CPU
Kod: Tümünü seç
Function GET_CPUID : String;
function IsCPUID_Available : Boolean; register;
const
ID_BIT = $200000;
asm
PUSHFD
POP EAX
MOV EDX,EAX
XOR EAX,ID_BIT
PUSH EAX
POPFD
PUSHFD
POP EAX
XOR EAX,EDX
JZ @exit
MOV AL,True
@exit:
end;
type
TCPUID = array[1..4] of Longint;
function GetCPUID : TCPUID; assembler; register;
asm
PUSH EBX
PUSH EDI
MOV EDI,EAX
MOV EAX,1
DW $A20F
STOSD
MOV EAX,EBX
STOSD
MOV EAX,ECX
STOSD
MOV EAX,EDX
STOSD
POP EDI
POP EBX
end;
var
CPUId : TCPUID;
i : Integer;
begin
FillChar( CPUId, SizeOf(CPUId), 0);
if IsCPUID_Available then
begin
CPUId := GetCPUID;
Result := IntToHex( CPUId[1], 8 ) + IntToHex( CPUId[4], 8 ) + IntToHex( CPUId[3], 8 ) ;
end
else Result:='ASDZXC';
end;
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Edit1.Text := GET_CPUID;
end;
Kod: Tümünü seç
BFEBFBFF0001067A
Kod: Tümünü seç
134A-2A9F-18A2-7176
Kod: Tümünü seç
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,ActiveX,ComObj, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
implementation
{$R *.dfm}
function GetWMIstring(const WMIClass, WMIProperty:string): string;
const
wbemFlagForwardOnly = $00000020;
var
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
begin;
Result:='';
FWbemObjectSet:= FWMIService.ExecQuery(Format('Select %s from %s',[WMIProperty, WMIClass]),'WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
if oEnum.Next(1, FWbemObject, iValue) = 0 then
if not VarIsNull(FWbemObject.Properties_.Item(WMIProperty).Value) then
Result:=FWbemObject.Properties_.Item(WMIProperty).Value;
FWbemObject:=Unassigned;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x:string;
Y:string;
begin
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
X:=GetWMIstring('Win32_BIOS','SerialNumber');
Y:=GetWMIstring('Win32_PhysicalMedia','SerialNumber');
ShowMessage('Bios Seri No:'+trim(x)+#13+'Harddisk Seri No:'+trim(y));
end;
end.
Kod: Tümünü seç
Bios Seri No: (BOŞ)
Kod: Tümünü seç
Harddisk Seri No:S2R4J9FB807285
Kod: Tümünü seç
Harddisk Seri No:S2R4J9FB807285