Для получения информации о температуре центрального процессора и системной платы воспользуемся одной из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows - Windows Management Instrumentation (WMI). Так как WMI построен по объектно-ориентированному принципу, то все данные операционной системы представлены в виде объектов и их свойств и методов. Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны друг с другом по определенной технологии или области управления. В WMI имеется одно корневое пространство имен Root, которое в свою очередь имеет 4 подпространства: CIMv2, Default, Security и WMI. Воспользуемся последним подпространством «WMI» и его классом «MSAcpi_ThermalZoneTemperature». Данный класс содержит данные об текущей температуре системной платы и центрального процессора.
Создайте проект Windows Form в Microsoft Visual Studio и добавьте на главную форму два компонента:
Сделайте двойной клик левой клавишей мыши по компоненту «Button» и перейдите в автоматически созданный метод «button1_Click», добавьте в него приведенный ниже листинг.
Скачать портативную версию программы Everest, вы можете ниже.
Создайте проект Windows Form в Microsoft Visual Studio и добавьте на главную форму два компонента:
- ListBox
- Button
Сделайте двойной клик левой клавишей мыши по компоненту «Button» и перейдите в автоматически созданный метод «button1_Click», добавьте в него приведенный ниже листинг.
listBox1.Items.Clear(); try { Double CPUtprt = 0; System.Management.ManagementObjectSearcher MOS = new System.Management.ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature"); foreach (System.Management.ManagementObject Mo in MOS.Get()) { CPUtprt = Convert.ToDouble(Convert.ToDouble(Mo.GetPropertyValue("CurrentTemperature".ToString())) - 2732) / 10.0; listBox1.Items.Add(" CPU: " + CPUtprt.ToString() + " ° C"); } } catch (ManagementException ex) { MessageBox.Show("Ошибка получения данных " + ex.Message); }Запустите ваш проект и нажмите на единственную кнопку на главной форме. Для проверки работы программы воспользуйтесь любым приложением предоставляющим информацию с температурных датчиков. Например, вы можете воспользоваться программой Everest.
Скачать портативную версию программы Everest, вы можете ниже.
Ссылка на Everest: Rusfolder.net
Ссылка на исходник: Rusfolder.net
Не работает чёт, ManagementObjectSearcher не найден.
ОтветитьУдалитьusing System.Management; есть
Здравствуйте, а вы добавили ссылку на данную библиотеку в References (Ссылки) в окне
ОтветитьУдалитьSolution ExplorerSolution Explorer (Обозреватель решений), доступный через меню
View (Вид)?