Как я могу получить температуру оборудования с помощью VB.NET?

Есть ли способ получить температуру и использование компонентов компьютера (ЦП, ОЗУ, ГП) с помощью VB.NET?

Спасибо.


person Dadex    schedule 25.07.2014    source источник


Ответы (1)


Есть несколько ресурсов, которые легко найти через Google, относительно проверки термодатчиков с помощью других WMI. Один из таких примеров для VB .NET уже здесь.

Для справки, вот пример фрагмента:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Try

        Dim searcher As New ManagementObjectSearcher( _

            "root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature")



        For Each queryObj As ManagementObject In searcher.Get()

            Dim temp As Double = CDbl(queryObj("CurrentTemperature"))

            temp = (temp - 2732) / 10.0

            MessageBox.Show(temp.ToString)

        Next

    Catch err As ManagementException

        MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)

    End Try

End Sub

End Class
person Kenneth Aalberg    schedule 25.07.2014
comment
Я видел этот код также на другой странице, но он выдает ту же ошибку: не поддерживается. - person Dadex; 26.07.2014
comment
temp = (temp - 2732) / 10.0 Измеряется ли текущая температура в десятых долях градуса Кельвина? Я понимаю, что измеряю в Кельвинах; но измерение в десятых долях градуса кажется странным выбором. - person Jonathon Cowley-Thom; 29.07.2014
comment
Как отмечалось в статье, не все системные платы поддерживают прямые вызовы WMI, но требуют наличия .DLL от производителя. (social.msdn.microsoft.com/Forums/en-US/) - person Kenneth Aalberg; 30.07.2014