Numéro de série de CPU

adoula775 Messages postés 1 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 5 avril 2009 - 21 mai 2008 à 21:16
 Utilisateur anonyme - 5 avril 2013 à 09:10
je cherche la fonction qui donne le numéro de serie de micro-processeur (CPU) ou un programme qui donne le numéro de serie de CPU

5 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 mai 2008 à 21:49
Bonjour,
si tu as les unités JEDI (JCLSysInfo, JCLString, etc ...) alors essaye cette fonction là :

GetCpuInfo(*ma variable type structure TCPUInfo*);

Structure TCPUInfo :

TCpuInfo = record
HasInstruction: Boolean;
MMX: Boolean;
IsFDIVOK: Boolean;
HasCacheInfo: Boolean;
HasExtendedInfo: Boolean;
CpuType: Byte;
PType: Byte;
Family: Byte;
Model: Byte;
Stepping: Byte;
Features: Cardinal;
FrequencyInfo: TFreqInfo;
VendorIDString: array [0..11] of Char;
Manufacturer: array [0..9] of Char;
CpuName: array [0..47] of Char;
IntelSpecific: TIntelSpecific;
CyrixSpecific: TCyrixSpecific;
AMDSpecific: TAMDSpecific;
end;

J'espère que tu trouveras ton bonheur dans cette fonction, je continue à chercher !

Cordialement, Bacterius !
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
21 mai 2008 à 21:55
Il me semble que seul le P3 a un numero de serie.
et depuis ça, plus aucun processeur n'a eu de numero de serie accessible par logiciel.

donc pour avoir le numero de serie d'un CPU faut regarder physiquement dessus

si c'est pour avoir l'ID du CPU, faut que tu vois la fonction CpuID.

0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 mai 2008 à 22:06
Ouais c'est ce que je voulais dire ^^ merci fOxi pour ces informations supplémentaires, je me coucherai moins bête ce soir :p

Cordialement, Bacterius !
0
kovax1 Messages postés 3 Date d'inscription jeudi 13 décembre 2007 Statut Membre Dernière intervention 4 avril 2013
4 avril 2013 à 20:44
function GetCPUID: TCPUID; assembler; register;
asm
PUSH EBX {Save affected register}
PUSH EDI
MOV EDI,EAX {@Resukt}
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;

begin
for I :=  Low(CPUID) to High(CPUID) do CPUID[I] := -1;
if IsCPUID_Available then CPUID := GetCPUID;
Result := 10000 * CPUID[1] + CPUID[4];
end;

//how call the function in your program

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(floattostr(cpuid));
end;

////////
source
=159330 http://www.delphipages.com/forum/showthread.php?t=159330
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
5 avril 2013 à 09:10
Heu ré-ouvrir un thread qui date de 5 ans, et en plus pour rien (La réponse a été donnée) c'est vraiment très con.
0
Rejoignez-nous