Page 1 sur 2
Fréquence du processeur
Publié : mer. 02/févr./2005 22:25
par Le Soldat Inconnu
un petit code qui retourne la fréquence du processeur
Code : Tout sélectionner
Procedure.l GetProcessorFrequency() ; Retourne la fréquence du processeur
Protected Resultat, Lib
Structure PROCESSOR_POWER_INFORMATION
Number.l ; Numéro du processeur
MaxMhz.l ; Fréquence max en mhz de la configuration actuelle
CurrentMhz.l ; Fréquence actuelle
MhzLimit.l ; Fréquence max en mhz supportée par le processeur
MaxIdleState.l
CurrentIdleState.l
EndStructure
Lib = OpenLibrary(#PB_Any, "PowrProf.dll")
If Lib
If CallFunction(Lib, "CallNtPowerInformation", 11, 0, 0, lpOutputBuffer.PROCESSOR_POWER_INFORMATION, SizeOf(PROCESSOR_POWER_INFORMATION)) = 0
Resultat = lpOutputBuffer\MaxMhz
EndIf
CloseLibrary(Lib)
EndIf
ProcedureReturn Resultat
EndProcedure
MessageRequester("Information", "Fréquence du processeur :" + Chr(10) + Str(GetProcessorFrequency()) + " Mhz", 64)
Par contre, j'aimerais savoir si ça tourne bien chez vous (sur quel OS, quel processeur, si bi-processeur ou pas)
Merci
Publié : mer. 02/févr./2005 22:32
par nico
Pour mon Athlon 1700, il me retourne 1466Mhz, mais sur les Athlon "1700" est un indice comparatif qui donne une équivalence aux processeurs d'intel.
Publié : mer. 02/févr./2005 22:37
par hardy
Me retourne 1600 Mhz pour mon centrino 1.6Ghz. Ca a l'air correct! (XP Pro)
Publié : mer. 02/févr./2005 23:27
par Le Soldat Inconnu
Pour ma part, j'ai testé sur AMD Athlon 900 (avec en retour 900 mhz) et sur AMD Athlon XP 2000+ (avec en retour 1664 mhz pour 1666 normalement). Les 2 PC sont sous XP pro
Publié : jeu. 03/févr./2005 7:07
par julien
2418 pour un PIV 2400 Mhz donc OK pour Moi sous XP pro, je regarderai ce soir sous 2K
Publié : jeu. 03/févr./2005 10:42
par Heis Spiter
1195Mhz -> Celeron 1,2Ghz sous XP Pro, tout est normal

.
Publié : jeu. 03/févr./2005 11:40
par Jacobus
Me retourne
0 Mhz pour mon PIII 1Ghz
Bouarf, je retourne me coucher,
je me sens pas bien tout d'un coup

Publié : jeu. 03/févr./2005 12:01
par Le Soldat Inconnu
sur quel OS ?
Publié : jeu. 03/févr./2005 12:06
par Jacobus
Un os à moëlle : WinMe
Publié : jeu. 03/févr./2005 13:01
par Le Soldat Inconnu
Tu peux me dire si c'est l'ouverture de la lib ou le callfunction qui échoue avec ceci (en mode debug) merci
Code : Tout sélectionner
Procedure.l GetProcessorFrequency() ; Retourne la fréquence du processeur
Protected Resultat, Lib
Structure PROCESSOR_POWER_INFORMATION
Number.l ; Numéro du processeur
MaxMhz.l ; Fréquence max en mhz de la configuration actuelle
CurrentMhz.l ; Fréquence actuelle
MhzLimit.l ; Fréquence max en mhz supportée par le processeur
MaxIdleState.l
CurrentIdleState.l
EndStructure
Lib = OpenLibrary(#PB_Any, "PowrProf.dll")
If Lib
Debug "OK Lib"
If CallFunction(Lib, "CallNtPowerInformation", 11, 0, 0, lpOutputBuffer.PROCESSOR_POWER_INFORMATION, SizeOf(PROCESSOR_POWER_INFORMATION)) = 0
Resultat = lpOutputBuffer\MaxMhz
Debug "OK Fonction"
EndIf
CloseLibrary(Lib)
EndIf
ProcedureReturn Resultat
EndProcedure
MessageRequester("Information", "Fréquence du processeur :" + Chr(10) + Str(GetProcessorFrequency()) + " Mhz", 64)
Publié : jeu. 03/févr./2005 14:04
par Jacobus
En effet, le debugger confirme Lib OK mais l'appel de la fonction ne se fait pas.
Publié : jeu. 03/févr./2005 18:48
par Le Soldat Inconnu
Pourtant, elle doit marcher sur 98, ME, 2000 et XP

zut alors
tu peux me donner la valeur retournée pas le callfunction STP (un petit coup de debug dessus)
Publié : jeu. 03/févr./2005 20:22
par erix14
2737 Mhz -> P IV 2.4Ghz XP familiale SP2...
Overclocking à 2.7 Ghz

Publié : jeu. 03/févr./2005 20:24
par Dräc
Meme probleme que pour Jacobus, cette fois avec 98SE et un PIII 500Mhz.
La valeur retournée par le callfunction et la suivante:
OK Lib
-1073741811
Publié : ven. 04/févr./2005 10:57
par Jacobus
De quelle manière tu mets un coup de Debug sur Callfunction ?
je n'obtiens qu'un zéro pointé à mes tentatives.
je suis allé vérifier si elle était bien dans la lib et c'est Ok, c'est la première des 24 qui s'y trouvent. Par contre pour des raisons de sécurité et de mémoire, j'ai désactivé certaines fonctions comme le chargement de power profil au démarrage du système. n 'y aurait-il pas un lien ?