Очень давно не заходил на VBStreets настолько, что VB6 устарел капитально, а я забыл почти все
Поиск мне не помог. WMI ничего хорошего не выдаст и не на каждой машине работает, это я понял...
На VB.NET нашел ближайший код через библиотеку OpenHardwareMonitorLib.dll
https://stackoverflow.com/questions/317 ... onitor-dll
Вопросов пару: как правильно подключить к проекту OpenHardwareMonitorLib.dll и поправить код получения температуры под VB6. Планирую минимальными кодами инспектировать температуру процессора, например с близкими значениями AIDA64 и тп. Если коды не большие, возможно и температуру графического процессора.
Пример на vb.net по ссылке выше:
- Код: Выделить всё
Dim cpu = cp.Hardware.Where(Function(h) h.HardwareType = HardwareType.CPU).FirstOrDefault()
cpu.Update()
For i As Integer = 0 To cp.Hardware.Count() - 1
Dim hw = cp.Hardware(i)
Select Case hw.HardwareType
Case HardwareType.CPU
Dim sensor = hw.Sensors(5) 'AVERAGE CPU TEMPERATURE
CPUTemp = sensor.Value
End Select
Next
Дополнительный пример получения информации о температуре CPU в режиме реального времени на VB.NET:
- Код: Выделить всё
Imports System
Imports System.Management
Imports OpenHardwareMonitor
Imports OpenHardwareMonitor.Hardware
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Enabled = True
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim computer As New Computer()
computer.Open()
computer.CPUEnabled = True
Dim cpu = computer.Hardware.Where(Function(h) h.HardwareType = HardwareType.CPU).FirstOrDefault()
If cpu IsNot Nothing Then
cpu.Update()
Dim tempSensors = cpu.Sensors.Where(Function(s) s.SensorType = SensorType.Temperature)
Label1.Text = tempSensors.ToList.Item(0).Value
Label2.Text = tempSensors.ToList.Item(1).Value
MetroProgressSpinner1.Value = Label1.Text
MetroProgressSpinner2.Value = Label2.Text
End If
End Sub
End Class