Recherche donnee system

cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 19 févr. 2003 à 12:41
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 21 févr. 2003 à 12:14
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 févr. 2003 à 23:45
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...
0
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011
21 févr. 2003 à 12:14
je te remerci pour toutes ses infos
0
Rejoignez-nous