J'ai besoin de rassembler des informations sur le système pour l'application que je suis en train de développer. La mémoire disponible et la charge du CPU sont faciles à obtenir en utilisant C#. Malheureusement, la température du CPU n'est pas aussi facile à obtenir. J'ai essayé d'utiliser WMI mais je n'ai rien pu obtenir avec
Win32_TemperatureProbe
ou
MSAcpi_ThermalZoneTemperature
Quelqu'un a-t-il déjà eu affaire à ce problème ? Je me demande comment les programmes de surveillance, comme SiSoftware Sandra, peuvent obtenir ces informations...
Juste au cas où quelqu'un serait intéressé, voici le code de la classe :
public class SystemInformation
{
private System.Diagnostics.PerformanceCounter m_memoryCounter;
private System.Diagnostics.PerformanceCounter m_CPUCounter;
public SystemInformation()
{
m_memoryCounter = new System.Diagnostics.PerformanceCounter();
m_memoryCounter.CategoryName = "Memory";
m_memoryCounter.CounterName = "Available MBytes";
m_CPUCounter = new System.Diagnostics.PerformanceCounter();
m_CPUCounter.CategoryName = "Processor";
m_CPUCounter.CounterName = "% Processor Time";
m_CPUCounter.InstanceName = "_Total";
}
public float GetAvailableMemory()
{
return m_memoryCounter.NextValue();
}
public float GetCPULoad()
{
return m_CPUCounter.NextValue();
}
public float GetCPUTemperature()
{
//...
return 0;
}
}
0 votes
Si vous êtes prêt à payer, je me pencherais sur les points suivants cpuid-pro.com si je me souviens bien, c'est la même bibliothèque que
z-cpu
utilise