Программа неправильно читает температуру процессора при установке на новый компьютер - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь добавить в существующую программу функцию, которая отображала бы текущую температуру ядра ЦП с помощью Open Hardware Monitor . У меня он работает правильно на моем персональном компьютере, где он отображает температуру на метке состояния полосы инструментов и обновляется по таймеру. Однако, когда я копирую все в новый P C и тестирую программу, возвращаемые температуры всегда возвращаются примерно на 25 градусов выше, чем показывает монитор. Если у кого-то есть идеи относительно того, почему он будет правильно читать на одном компьютере, но не на другом, я был бы признателен, потому что я в тупике ...

Вот температуры монитора и то, что моя программа отображает на моем компьютере. C оба согласованы.

Открытые температуры монитора оборудования

Температура, отображаемая в программе

Теперь это температуры отображается на новом P C, который будет отправлен.

Новый P C Открыть монитор оборудования

Отображение температуры программы на New P C

Это код, который я сейчас использую для получения временных значений.

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 голосов
/ 04 февраля 2020

Я не увидел ошибку в коде, вот пример использования OpenHardwaremonitor и WMI для получения температуры процессора, возможно, вы можете попробовать это.

...