Recherche donnee system

Signaler
Messages postés
172
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
3 juin 2011
-
Messages postés
172
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
3 juin 2011
-
bonjour
je cherche a trouver le nombre de processeur que l'ordinateur
possede, la taille memoire physique, la vitesse du processeur
etcc...
sous borland c++ v6
merci

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Salut,
sous Windows:
SYSTEM_INFO sti;
GetSystemInfo(&sti);
tu auras nbr processeurs et type.
Le nbr sera mal interprete si 2 cas reunis:
systeme < XPproSP1 && proc >= 3.06 HT.
Vitesse proc peut se lire dans base registres.
Je ne me souviens pas si y est sur tous Windows.
KeyValue = "~Mhz".
Si n'y est pas possible calculer sans passer ring 0.
unsigned __int64 ticks;
ici manip priorite Process ET Thread, obligatoire.
Je te laisse chercher un peu.
Je te mets asm necessaire, c'est minime.
__asm {
rdtsc
mov dword ptr ticks+4, edx
mov dword ptr ticks, eax
}
ici faut temporiser, bloque ton thread, facile.
si proc >= 2 mhz 1/10 seconde suffit, sinon 5/10.
Comment determiner puisque but a atteindre ?
La aussi je vais te laisser reflechir un peu.
__asm {
rdtsc
sub eax, dword ptr ticks
sbb edx, dword ptr ticks+4
mov dword ptr ticks, eax
mov dword ptr ticks+4, edx
}
Remettre priorites process et thread sur ancienne valeur.
Derniere chose, appliquer facteur de correction sur ticks.
Dependra si tu as mis 1/10 ou 5.
Je te laisse aussi les calculer, c'est bidon.
Verifie si bon en voyant panneau systeme.
Pour la memoire:
MEMORYSTATUS mmst;
GlobalMemoryStatus(&mmst);
Tu as tout ce qu'il faut.
ciao...
Messages postés
172
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
3 juin 2011

je te remerci pour toutes ses infos