Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393

Не удается получить температуру процессора

27.01.2017, 12:26. Показов 6203. Ответов 21
Метки wmi (Все метки)

Студворк — интернет-сервис помощи студентам
Я пытаюсь получить температуру процессора. В результате ошибка, если добавить исключение всегда вылетает это исключение.
C#
1
2
3
4
5
6
7
8
 Double CPUtprt = 0;
            System.Management.ManagementObjectSearcher MOS = new System.Management.ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
            foreach (ManagementObject queryObj in MOS.Get())
                {
                    CPUtprt = Convert.ToDouble(Convert.ToDouble(queryObj.GetPropertyValue("CurrentTemperature".ToString())) - 2732) / 10.0;
                    Console.WriteLine(" CPU: " + CPUtprt.ToString() + " ° C");
                    
                }
Помогите, пожалуйста, решить проблему !!! HELP!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2017, 12:26
Ответы с готовыми решениями:

Как получить температуру процессора?
Как получить температуру процессора?

"Отказано в доступе" при попытке получить температуру процессора через WMI
Здравствуйте. Пытаюсь получить температуру процессора, а мне выбивает исключение. ManagementObjectSearcher searcher = new...

Получить температуру процессора
Как получить температуру процессора, при этом не большим количеством кода?

21
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
27.01.2017, 12:49
yura0103, о типе ошибки предлагаешь погадать на кофейной гуще?..
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393
27.01.2017, 12:53  [ТС]
Необработанное исключение типа "System.Management.ManagementExcepti on" в System.Management.dll

Дополнительные сведения: Not supported
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
27.01.2017, 12:55
Цитата Сообщение от yura0103 Посмотреть сообщение
Дополнительные сведения: Not supported
Вывод очевиден: данным способо сделать то, что тебе надо не выйдет
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393
27.01.2017, 12:56  [ТС]
Можете подсказать каким способом можно узнать температуру процессора ?
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
27.01.2017, 12:59
yura0103, это очень не просто.
0
Нарушитель
 Аватар для petrolium
99 / 33 / 10
Регистрация: 05.10.2013
Сообщений: 154
Записей в блоге: 1
27.01.2017, 13:14
Запусти VS с правами администратора. Только что за значение после твоих конвертов там выходит я даже не знаю ))
C#
1
2
3
4
5
6
7
8
9
10
ManagementObjectSearcher searcher =   new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
            ManagementObjectCollection collection = searcher.Get();
 
            foreach (ManagementBaseObject tempObject in collection)
            {
                Double CPUtprt = Convert.ToDouble(Convert.ToDouble(tempObject.GetPropertyValue("CurrentTemperature".ToString())) - 2732) / 10.0;
                Console.WriteLine(tempObject["CurrentTemperature"].ToString());
                Console.WriteLine(CPUtprt.ToString());
                Console.ReadLine();
            }
у меня
Console.WriteLine(tempObject["CurrentTemperature"].ToString());
= 3010
а
Console.WriteLine(CPUtprt.ToString());
= 27,8
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393
27.01.2017, 13:21  [ТС]
Тот же самый результат
0
Нарушитель
 Аватар для petrolium
99 / 33 / 10
Регистрация: 05.10.2013
Сообщений: 154
Записей в блоге: 1
27.01.2017, 13:22
Цитата Сообщение от yura0103 Посмотреть сообщение
Тот же самый результат
что - ошибка или что?
скопируй мой код себе
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
27.01.2017, 13:23
petrolium, знающие люди утверждают, что такой способ не проканает. Гугл об этом тоже самое говорит. Может когда-то оно и работало, но сейчас, похоже, уже нет.
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393
27.01.2017, 13:26  [ТС]
ВОТ СКРИН
Миниатюры
Не удается получить температуру процессора  
0
Нарушитель
 Аватар для petrolium
99 / 33 / 10
Регистрация: 05.10.2013
Сообщений: 154
Записей в блоге: 1
27.01.2017, 16:55
короче взволновал ты мою душу своим вопросом ))
Получить можно со сторонней библиотекой. Скачать - добавить в проект библиотеку OpenHardwareMonitorLib.dll
http://openhardwaremonitor.org/

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Management;
using System.Timers;
using OpenHardwareMonitor;
using OpenHardwareMonitor.Hardware;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            Computer c = new Computer();
            c.CPUEnabled = true;
            c.Open();
            foreach (var hardware in c.Hardware)
            {
                if (hardware.HardwareType == HardwareType.CPU)
                {
                    hardware.Update();
                    foreach (var sensors in hardware.Sensors)
                    {
                        if (sensors.SensorType == SensorType.Temperature)
                        {
                            Console.WriteLine(sensors.Max.GetValueOrDefault().ToString());
                        }
                    }
                }
            }
            Console.ReadLine();
       }
    }
}
Добавлено через 5 минут
выадется три значения.
первое как я понял - температура обобщенная <T> ))
а остальные значения по ядрам

Добавлено через 20 минут
причем исходники ее написаны на с# и лежат на github
1
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
27.01.2017, 18:10
Дико интересно! Судя по всему данная софтина работает напрямую с камнем прямо из C#, загружая в буфер заранее заготовленные блоки машинного кода и получая делегаты через Marshal.GetDelegateForFunctionPointer!

Крутотень!
1
Нарушитель
 Аватар для petrolium
99 / 33 / 10
Регистрация: 05.10.2013
Сообщений: 154
Записей в блоге: 1
27.01.2017, 18:13
Цитата Сообщение от Usaga Посмотреть сообщение
Дико интересно! Судя по всему данная софтина работает напрямую с камнем прямо из C#, загружая в буфер заранее заготовленные блоки машинного кода и получая делегаты через Marshal.GetDelegateForFunctionPointer!
Крутотень!
ну да, как и описывал тот чел по твоей ссылке
C#
1
2
3
  this.smbios = new SMBIOS();
        Ring0.Open();
        Opcode.Open();
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
27.01.2017, 18:17
Только я не въехал, как оно в ring0 попадает? Хаки какие-то, чтоли...
0
Нарушитель
 Аватар для petrolium
99 / 33 / 10
Регистрация: 05.10.2013
Сообщений: 154
Записей в блоге: 1
27.01.2017, 18:19
Цитата Сообщение от Usaga Посмотреть сообщение
Только я не въехал, как оно в ring0 попадает? Хаки какие-то, чтоли...
незнаю, я еще отлком и не ковырял
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
27.01.2017, 22:52
Цитата Сообщение от Usaga Посмотреть сообщение
Только я не въехал, как оно в ring0 попадает? Хаки какие-то, чтоли..
Нет там хаков. У них там самый обычный драйвер - WinRing0.sys.
И да, утилита не обновляется уже давно, так что как получать температуру
для новых процессоров типа SkyLake - никто там не знает...
1
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393
30.01.2017, 09:57  [ТС]
Большое спасибо за ответы. Подскажите, пожалуйста, где можно почить про возможности этой библиотеки, может еще что то полезное для себя найду.
Я сравнивал температуру, которую показывает программа и аида разница где то 3-4 градуса, кому верить ?
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
30.01.2017, 10:19
yura0103, я бы верил AIDE, она как-никак весьма популярна, а посоветованая выше утилитка подустареть уже успела.
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 393
30.01.2017, 11:29  [ТС]
Пытаюсь вывести еще вольтаж... Результат нулевой. Подскажите что не так :
C#
1
2
3
4
 if (sensors.SensorType == SensorType.Voltage)
                        {
                            Console.WriteLine("{0} = {1}", sensors.SensorType, sensors.Value);
                        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2017, 11:29
Помогаю со студенческими работами здесь

Получить температуру процессора
Кто-нибудь занимался вопросом по получению данных из HW монитора BIOS из-под Окошек? WMI и CIM(хотя по большому счету это одно и то же)...

Получить текущую температуру процессора
Доброго времени суток, пытаюсь написать скрипт который выдает текущую температуру процессора, но он выдает ошибку подскажите, пожалуйста,...

Получить температуру процессора средствами Java
как получить температуру процессора с помощью Java?

как узнать температуру процессора
Подскажите как узнать температуру процессора и если она выше значения в edit1, то выключить компьютер?

Чем мерить температуру процессора?
Эверест сказал, что он триальный и отказался показывать температуры. Винда 64-х битная.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru