Loading...
MarioMilev avatar MarioMilev 1 Точки

C# - CPU Temperature

Здравейте smiley Има ли някой тук, който е успял да си отпечата на конзолата градусите на процесора. Търсих къде ли не, нищо не сработи. 
Ще се радвам ако някой е успял да направи това чудо на чудесата да каже как става номера. Ако може и кода сте златни. Благодаря предварително.

П.С. Извинявам се ако темата ми не е на правилното място във форума.

0
Module: C# Advanced
RoYaL avatar RoYaL Trainer 6849 Точки

Ами кажи какво и пробвал? По принцип не е тривиална задача това - зависи дали driver-а предоставя подобно API.

Може би WMI?

0
MarioMilev avatar MarioMilev 1 Точки

Здравей RoYaL.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management;

namespace Volt
{
    class Program
    {
        static void Main()
        {
            ManagementObjectSearcher mySearcher = new ManagementObjectSearcher("root\\WMI", "SELECT * from MSAcpi_ThermalZoneTemperature");

            foreach (ManagementObject obj in mySearcher.Get())
            {
                
                if (obj == null)
                    Console.WriteLine("didn't find");
                else
                    Console.WriteLine((obj["CurrentTemperature"].ToString())); 
            }
        }
    }
}
 

Това е което аз намерих и резултата е 

0
07/12/2016 00:02:55
RoYaL avatar RoYaL Trainer 6849 Точки

Пусни я като администратор

0
MarioMilev avatar MarioMilev 1 Точки

Пробвах - прозореца просто се отваря и изчезва със скоростта на светлината laugh

0
07/12/2016 00:32:00
H.Stoyanov avatar H.Stoyanov 115 Точки

Колега, не съм прочел цялата тема, но мисля, че това видео ще ти е от полза!

Хубав ден!

wink

0
markovood avatar markovood 11 Точки

Точно в целта. Видеото много точно обяснява как става номера... ЕВАЛА!!!

0
markovood avatar markovood 11 Точки

// Gets temperature info from OS and prints it to the console
            // Very useful video https://www.youtube.com/watch?v=c1In6NbJt5E
            PerformanceCounter perfCount = new PerformanceCounter("Processor", "% Processor Time", "_Total");
            PerformanceCounter tempCount = new PerformanceCounter("Thermal Zone Information", "Temperature", @"\_TZ.THRM");
            while (true)
            {
                Thread.Sleep(1000);
                Console.WriteLine("Processor time: " + perfCount.NextValue() + "%");
                // -273.15 is the conversion from degrees Kelvin to degrees Celsius
                Console.WriteLine("Temperature: " + (tempCount.NextValue() - 273.15f) + "\u00B0C");
            }

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.