gpt4 book ai didi

c# - 如何在 C# 中使用开放式硬件监视器源代码?我试过任何方法都不行

转载 作者:行者123 更新时间:2023-11-30 13:27:32 25 4
gpt4 key购买 nike

我在 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 变量为 null 我不知道如何为它创建一个实例。

构造函数中的其他两个变量不返回 0。如果我没有使用 ii 变量,其他两个不会抛出错误但不会返回任何值。

我正在使用来自 http://code.google.com/p/open-hardware-monitor/downloads/detail?name=openhardwaremonitor-v0.4.0-beta.zip&can=2&q= 的 openhardwaremonitor dll

c# dll 自带程序。

所以我添加了 dll 作为引用,但我不知道如何编写代码。

有人可以根据我这里的代码为我构建一个代码示例吗?我试图查看 openhwardwaremonitor 站点和那里的源代码,但不明白如何使用它。

我还能做什么?

谢谢。

最佳答案

我已经测试了这段代码:

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 的引用。

您还需要在应用程序中请求更高的执行级别,即右键单击该项目,添加一个新的 list 文件项并声明

requestedExecutionLevel  level="highestAvailable" uiAccess="false"

关于c# - 如何在 C# 中使用开放式硬件监视器源代码?我试过任何方法都不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10495430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com