Как я могу использовать исходный код открытого аппаратного монитора в C#? Я пытался ничего не работает

У меня есть этот код в Form1:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OpenHardwareMonitor.Hardware.HDD;
using OpenHardwareMonitor;

namespace OpenHardwareMonitor
{
    public partial class Form1 : Form
    {

        OpenHardwareMonitor.Hardware.SensorValue sv;
        OpenHardwareMonitor.Hardware.ISensor ii;
        public Form1()
        {
            InitializeComponent();

            string y = ii.Name;
            sv = new Hardware.SensorValue();
            DateTime dt = sv.Time;
            float t = sv.Value;

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

ii переменная равна нулю, я не знаю, как сделать экземпляр для него.

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

Я использую dll openhardwaremonitor из http://code.google.com/p/open-hardware-monitor/downloads/detail?name=openhardwaremonitor-v0.4.0-beta.zip&can=2&q=

C# dll идет с программой самостоятельно.

Поэтому я добавил в качестве ссылки DLL, но я не знаю, как сделать код.

Может ли кто-нибудь собрать для меня только пример кода в соответствии с моим кодом здесь? Я пытался заглянуть на сайт openhwardwaremonitor и исходный код и не понял, как его использовать.

Что еще я могу сделать?

Благодарю.

1 ответ

Я проверил этот код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OpenHardwareMonitor;
using OpenHardwareMonitor.Hardware;

namespace CPUTemperatureMonitor
{
    public partial class Form1 : Form
    {

        Computer thisComputer;

        public Form1()
        {

            InitializeComponent();

            thisComputer = new Computer() { CPUEnabled = true };

            thisComputer.Open();

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            String temp = "";

            foreach (var hardwareItem in thisComputer.Hardware)
            {
                if (hardwareItem.HardwareType == HardwareType.CPU)
                {
                    hardwareItem.Update();
                    foreach (IHardware subHardware in hardwareItem.SubHardware)
                        subHardware.Update();

                    foreach (var sensor in hardwareItem.Sensors)
                    {
                        if (sensor.SensorType == SensorType.Temperature)
                        {

                            temp += String.Format("{0} Temperature = {1}\r\n", sensor.Name, sensor.Value.HasValue ? sensor.Value.Value.ToString() : "no value");

                        }
                    }
                }
            }

            textBox1.Text = temp;

        }
    }
}

Форма имеет многострочное текстовое управление и таймер. Добавить ссылку на OpenHardwareMonitorLib.dll,

Вам также необходимо запросить более высокий уровень выполнения в приложении, то есть щелкнуть правой кнопкой мыши на проекте, добавить новый элемент файла манифеста и объявить

requestedExecutionLevel  level="highestAvailable" uiAccess="false"
Другие вопросы по тегам