Lo so, ci sono molti tutorial su come ottenere questo valore. Ma ne ho provati tanti. Ho scoperto una cosa interessante, puoi effettivamente ottenere un certo valore del PC dal monitor delle prestazioni (come in questo video
https://www.youtube.com/watch?v=niKP91D50Ko&t=1126s&ab_channel=CampNerd), e so come ottenerli, ma come dice qui (
https://answers.microsoft.com/en-us/windows/forum/all/performance-monitor-counters-for-system/dd508391-0005-44b7-a5a3-ccdfff0ef46f) non c'è il valore della temperatura della CPU sul monitor delle prestazioni.
Così ho scoperto un'altra cosa fantastica, le classi per l'hardware per Windows 10 (
https://docs.microsoft.com/it-it/windows/win32/cimwin32prov/computer-system-hardware-classes?redirectedfrom=MSDN). E cercando di nuovo c'è questo: Win32_TemperatureProbe class (
https://docs.microsoft.com/it-it/windows/win32/cimwin32prov/win32-temperatureprobe).
Ma non riesco a trovare un tutorial che insegni come ottenere i valori. Dopo aver LETTO TUTTA la classe Win32_TemperatureProbe, ho scoperto che quello di cui ho bisogno è in CurrentReading, penso... Quindi ora ho creato un timer nel mio progetto (in Visual Studio) e ogni 1000 millisecondi prende qualche altro valore dal monitor delle prestazioni.. .finora niente sus. Ma come ho detto, il monitor delle prestazioni non prende la temperatura della CPU. Quindi voglio prenderlo dalla classe Win32_TemperatureProbe. Come posso farlo? (Ho scritto tutto così non pensi che non abbia fatto il minimo sforzo).
Ho seguito questo tutorial:
https://youtube.com/watch?v=W7vPgAqC4fI&ab_channel=CampNerd e ho cambiato il suo
Win32_UserAccount con
Win32_TemperatureProbe e ho cambiato la sua
Caption con
CurrentReading...
La sua funzione modificata da me:
private string GetTemp() {
ManagementObjectSearcher s = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_TemperatureProbe");
foreach (ManagementObject wmi in s.Get()) {
try
{
return wmi.GetPropertyValue("CurrentReading").ToString();
}
catch { }
}
return "err";
}
Mi restituisce sempre "err".
Quindi vorrei sapere come, ad esempio, il programma MSI Afterburner prende la temperatura ...