Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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).
 +
 +