Bah je me suis beaucoup interesse a ce sujet ...
Je suis passé par l'assembleur (en VC++ : asm ou __asm je sais plus puis ton code entre accolades)
L'instruction est CPUID (CPU ... IDentification ;-)
Il y a des levels ...
En gros a chaque nouvelle generation de processeurs ben y'a des sous-fonctions en plus a cette instructtion (des levels)
Je crois que c'est dans EAX que tu passe ton level (parametre de l'instruction)
Chaque level renvoit dans eax,ebx,ecx,edx des infos propres a chaque processeur !!!
je crois que ca :
mov eax,1 ;level 1
cpuid
te renvoit dans EAX-EBX-EDX-ECX une chaine de caractere propre a chaque marque
(GenuineIntel,AuthenticAMD ... 12 caracteres max car 4 * 4 octets par registre)
apres le type de proc c'est plus cho : c'est que du
switch(...)
case ... switch(...)
case(...)
car fo gerer tous les proc de toute la terre ...
sur les sites des constructeurs tu trouves des exemples (exemples en VC++ chez AMD pour detecter un Atlhon...)
Sinon un tres bon site : www.sandpile.org où tu trouveras TOUT !!! ("si ce n'est pas sue ce site c'est que ca n'existe pas !!!" )
Sinon, si tu veux pas te faire chier, Windows permet grace a ses API de connaitre quelques infos ... mais c'est limité (ben oui : windows 95 ne peut pas connaitre les caracteristiques des nouveaux processuers (on peut connaitre la taille de gravure ...))
Essaie la fonction GetSystemInfo : t'auras déjà pas mal d'infos.