Как получить информацию о температуре процессора из биоса с помощью c #? - PullRequest
2 голосов
/ 01 сентября 2010

Как получить информацию о температуре процессора из Bios с помощью c # Я попробовал код в Мониторинг температуры процессора

Но не повезло.enumerator.Current бросил исключение.

Как мне этого добиться?Спасибо.

Ошибка:

"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"

Ответы [ 3 ]

1 голос
/ 01 сентября 2010

Посмотрите на OpenHardwareMonitor .

0 голосов
/ 01 сентября 2010

Хотя это не идеальное решение, самое близкое / лучшее решение, которое я нашел, - это использовать Speedfan (бесплатно), который может предоставлять информацию о своем датчике внешним приложениям через карту памяти. Кто-то сделал преобразование C #:

Чтение совместно используемой памяти SpeedFan с помощью C #

«Опираясь на то, о чем я говорил в моем предыдущий пост, скажем, мы хотим получить доступ к данным, которые предоставляет SpeedFan из приложения C #. Как маленький кроме чтения информации из SMBus и другие низкоуровневые интерфейсы можно сделать только из ядра. Так приложения, такие как SpeedFan (HWMonitor, Эверест и тд и тп) вообще запускаю драйвер на уровне ядра, а затем интерфейс GUI для представления информация.

В случае SpeedFan, общая память (на самом деле это технически память сопоставленный файл в Windows, я думаю) используется для связи между ядром драйвер и пользовательский интерфейс приложение. Еще лучше формат этот файл был обнародован автор SpeedFan. Итак, достаточно поговорим, давайте посмотрим код! "

0 голосов
/ 01 сентября 2010

У меня точно такая же проблема:

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

Код в приведенной вами ссылке верен. Мой .exe отлично работает в Windows / XP и Windows / Vista (до тех пор, пока я "запускаюсь от имени администратора" в Vista) ... но происходит сбой с ошибкой WMI, которая "не поддерживается" в Windows Embedded 7.

На данный момент я не знаю, связана ли проблема с ОС (WES7) или с моей материнской платой (Intel DH57jg).

...