2010-09-01 3 views
2

Comment obtenir les informations de température du processeur de Bios en utilisant C# J'ai essayé le code CPU temperature monitoringComment obtenir les informations de température du processeur à partir de Bios en utilisant C#?

Mais pas de chance. enumerator.Current a lancé une exception.

Comment puis-je y parvenir? Merci.

Erreur:

"This system doesn't support the required WMI objects(1) - check the exception file 
Not supported 

at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) 
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext() 
at CedarLogic.WmiLib.SystemStatistics.RefreshReadings() in D:\Downloads\TempMonitorSrc\TemperatureMonitorSln\WmiLib\SystemStatistics.cs:line 25 
at CedarLogic.WmiLib.SystemStatistics.get_CurrentTemperature() in D:\Downloads\TempMonitorSrc\TemperatureMonitorSln\WmiLib\SystemStatistics.cs:line 87 
at TemperatureMonitor.SystemTrayService.CheckSupport() in D:\Downloads\TempMonitorSrc\TemperatureMonitorSln\TemperatureMonitor\SystemTrayService.cs:line 260" 
+0

Ce serait plus approprié sur StackOverflow.com – eidylon

Répondre

0

Je vais avoir le même problème:

https://superuser.com/questions/183282/cant-query-cpu-temperature-msacpi-thermalzonetemperature-on-windows-embedded-7

Le code dans le lien que vous avez cité est correct. Mon .exe fonctionne bien sur Windows/XP et Windows/Vista (aussi longtemps que je "exécute en tant qu'administrateur" sur Vista) ... mais échoue avec l'erreur WMI "non supporté" sur Windows Embedded 7.

point, je ne sais pas si le problème est le système d'exploitation (WES7) ou ma carte mère (un Intel DH57jg).

0

Bien que n'étant pas idéal, la solution la plus proche/meilleure que j'ai trouvé est d'utiliser Speedfan (gratuit), qui peut exposer ses informations de sonde à des applications externes, via une carte mémoire. Quelqu'un a fait le C# conversion.

Reading SpeedFan shared memory with C#

« Construire sur ce que j'ai parlé dans mon post précédent, permet de dire que nous voulons accéder au données que SpeedFan fournit à partir d'une application C# Comme une petite côté, la lecture des informations de la SMBus et d'autres interfaces bas niveau ne peut être fait à partir du noyau. donc des applications telles que SpeedFan (HWMonitor, Everest, etc etc) fonctionnent généralement un pilote au noyau niveau, puis une interface utilisateur graphique pour présenter les informations .

Dans le cas de SpeedFan, la mémoire partagée (en fait son techniquement un fichier mappé en mémoire sur Windows je pense) est utilisé pour communiquer entre le pilote noyau et l'application GUI userspace . Encore mieux, le format de ce fichier a été rendu public par l'auteur de SpeedFan. Alors, assez parler, laisse voir le code! »

Questions connexes