Un petit code pour récupérer la fréquence de votre processeur.
J'ai repris un vieux code qui ne marchait plus car compatible uniquement pour un processeur monocore ce qui devient de plus en plus rare.
J'ai donc corrigé pour le rendre fonctionnel en multicore.
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
GetSystemInfo_(SystemInfo.SYSTEM_INFO)
Dim lpOutputBuffer.PROCESSOR_POWER_INFORMATION(SystemInfo\dwNumberOfProcessors - 1)
If CallFunction(Lib, "CallNtPowerInformation", 11, 0, 0, lpOutputBuffer(), SizeOf(PROCESSOR_POWER_INFORMATION) * SystemInfo\dwNumberOfProcessors) = 0
Resultat = lpOutputBuffer(0)\MaxMhz
CompilerIf #PB_Compiler_Debugger
For i = 0 To SystemInfo\dwNumberOfProcessors - 1
Debug "Processeur " + Str(lpOutputBuffer(i)\Number)
Debug "Fréquence maximum : " + Str(lpOutputBuffer(i)\MaxMhz)
Debug "Fréquence actuelle : " + Str(lpOutputBuffer(i)\CurrentMhz)
Debug "Fréquence limite supportée : " + Str(lpOutputBuffer(i)\MhzLimit)
Debug ""
Next
CompilerEndIf
EndIf
CloseLibrary(Lib)
EndIf
ProcedureReturn Resultat
EndProcedure
MessageRequester("Information", "Fréquence du processeur :" + Chr(10) + Str(GetProcessorFrequency()) + " Mhz")
Je cherche à faire une fonction pour récupéré le taux d'utilisation du processeur mais je n'ai pas encore trouvé. Si l'un d'entre vous a ceci en stock, je suis preneur. Merci
