Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:cas:windows:cpu [15/06/2023 16:07] thierry [Informations générales] |
prog:lazarus:cas:windows:cpu [17/06/2023 17:03] (Version actuelle) thierry [GetSystemTimes] |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
===== Via WMI ===== | ===== Via WMI ===== | ||
- | ==== Informations générales ==== | + | ==== Root\CIMV2\Win32_Processor ==== |
<code wql wql sur root/CIMV2> | <code wql wql sur root/CIMV2> | ||
Select * from Win32_Processor | Select * from Win32_Processor | ||
Ligne 75: | Ligne 75: | ||
- | ==== Charge ==== | ||
- | Avec la requette WMI ci dessous, on récupére ''CurrentClockSpeed'' et ''LoadPercentage''. | ||
- | ''LoadPercentage'' retourne l'utilisation du processeur a l'instant T. | ||
- | |||
- | ''CurrentClockSpeed'' la vitesse du CPU, mais n'a pas l'air de fluctuer comme on pourrait s'y attendre quand on regarde les performances dans le Gestionnaire de Tâches. | ||
- | |||
- | <code wql wql sur root/CIMV2> | ||
- | Select CurrentClockSpeed,CurrentVoltage,LoadPercentage from Win32_Processor | ||
- | </code> | ||
- | <codedoc> | ||
- | instance of Win32_Processor | ||
- | { | ||
- | CurrentClockSpeed = 3600; | ||
- | CurrentVoltage = 10; | ||
- | DeviceID = "CPU0"; | ||
- | LoadPercentage = 6; | ||
- | }; | ||
- | </codedoc> | ||
==== Win32_PerfFormattedData_Counters_ProcessorInformation ==== | ==== Win32_PerfFormattedData_Counters_ProcessorInformation ==== | ||
<codedoc> | <codedoc> | ||
Ligne 271: | Ligne 253: | ||
===== Via PDH ===== | ===== Via PDH ===== | ||
Source : [[https://learn.microsoft.com/fr-fr/windows/win32/perfctrs/using-the-pdh-functions-to-consume-counter-data]] | Source : [[https://learn.microsoft.com/fr-fr/windows/win32/perfctrs/using-the-pdh-functions-to-consume-counter-data]] | ||
+ | ===== Via les API Windows ===== | ||
+ | ==== GetSystemTimes ==== | ||
+ | Source : [[https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getsystemtimes]] | ||
+ | <code delphi jwawinbase.pas> | ||
+ | function GetSystemTimes(lpIdleTime, lpKernelTime, lpUserTime: LPFILETIME): BOOL; stdcall; | ||
+ | </code> | ||
+ | |||
+ | * **lpIdleTime** :\\ Un pointeur vers une structure FILETIME qui reçoit la durée d'inactivité du système. | ||
+ | * **lpKernelTime**:\\ Un pointeur vers une structure FILETIME qui reçoit le temps que le système a passé à s'exécuter en mode noyau (y compris tous les threads de tous les processus, sur tous les processeurs). Cette valeur de temps inclut également la durée d'inactivité du système. | ||
+ | * **lpUserTime**:\\ Un pointeur vers une structure FILETIME qui reçoit le temps que le système a passé à s'exécuter en mode utilisateur (y compris tous les threads de tous les processus, sur tous les processeurs). | ||
+ | |||
+ | |||