放在新计算机上时,程序会错误地读取CPU温度

时间:2020-02-03 17:46:55

标签: vb.net visual-studio-2017 openhardwaremonitor

我正在尝试向现有程序添加功能,以使用Open Hardware Monitor显示当前CPU内核温度。我可以在我的个人计算机上正常工作,该计算机在工具条状态标签上显示温度,并在计时器上刷新。但是,当我将所有内容复制到新PC并测试运行程序时,它返回的温度总是比监视器显示的温度高出约25度。如果有人对为什么可以在一台计算机上正确读取而不是在另一台计算机上正确读取有任何想法,我会很感激...

这是显示器温度,我的程序在PC上显示的内容都匹配了。

Open Hardware Monitor temperatures

Temperature displayed in program

现在这些是新PC上显示的温度,该温度将被运出。

New PC Open Hardware Monitor

Program temperature display on New PC

这是我目前用来获取临时文件的代码。

Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
    Dim cp As New Computer()
    cp.Open()
    cp.HDDEnabled = True
    cp.FanControllerEnabled = True
    cp.RAMEnabled = True
    cp.GPUEnabled = True
    cp.MainboardEnabled = True
    cp.CPUEnabled = True

    Dim Info As String = ""
    Timer3.Interval = 5000
    For i As Integer = 0 To cp.Hardware.Length - 1
        Dim hw = cp.Hardware(i)

        Select Case hw.HardwareType

            Case HardwareType.CPU

                ToolStripStatusLabel5.Text = "CPU" & vbCrLf
                For j = 0 To hw.Sensors.Length - 1
                    Dim sensor = hw.Sensors(j)
                    If cp.Hardware(i).Sensors(j).SensorType = SensorType.Temperature Then
                        ToolStripStatusLabel5.Text = sensor.Name & " - " & sensor.Value & vbCrLf
                    End If
                Next
        End Select
    Next

End Sub

1 个答案:

答案 0 :(得分:0)

我没有在代码中看到错误,这里是an example,使用OpenHardwaremonitor和WMI来获取CPU温度,也许您可​​以尝试。

相关问题