[VB.NET] โค้ดการอ่านค่าอุณหภูมิของ CPU Package ด้วยของฟรีจาก LibreHardwareMonitor
http://www.g2gsoft.com/webboard/images/VBNet/librehardwaremonitor.pnghttp://www.g2gsoft.com/webboard/images/VBNet/librehardwaremonitorref.png
การ Add References ... และต้องใช้ .NET Framework 4.7.2 ขึ้นไป ...
โค้ด VB.NET (2017) ในการอ่านค่าอุณหภูมิของ CPU Package ด้วยของฟรีจาก LibreHardwareMonitor โดยโค้ดตัวอย่างนี้จะใช้เวอร์ชั่น 0.9.3 ซึ่งจะต้องใช้ .Net Framework 4.7.2 ขึ้นไปนะครับ เจ้าตัว LibreHardwareMonitor จะสามารถมอนิเตอร์อุณหภูมิจากเซนเซอร์บนตัวเมนบอร์ด ความเร็วพัดลม ระดับแรงดัน หรือความเร็วบัสได้เหมือนกันกับ OpenHardwareMonitor ...
มาดูโค้ดฉบับเต็มกันเถอะ ...
'// LibreHardwareMonitor:
'// Monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.
Imports LibreHardwareMonitor.Hardware
Public Class frmLibreHardware
Private WithEvents computer As New Computer
'// S T A R T ... H E R E
Private Sub frmLibreHardware_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblCpuName.Text = ""
For i As Byte = 1 To 60
cmbRefresh.Items.Add(i)
Next
With cmbRefresh
.SelectedIndex = 2'// Refresh every 3 sec.
.ItemHeight = 10
.IntegralHeight = False
End With
'// Enable Timer.
Timer1.Interval = CByte(cmbRefresh.Text) * 1000
Timer1.Enabled = True
End Sub
'// Initialized ListView Control.
Sub InitListView()
With lvwData
.Clear()
.View = View.Details
.GridLines = True
.FullRowSelect = True
.HideSelection = False
.MultiSelect = False
'// 1st Column Index = 0
.Columns.Add("Sensor Name", lvwData.Width \ 2)
.Columns.Add("Value", lvwData.Width \ 2 - 100)
End With
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Call InitListView()
computer.IsCpuEnabled = True '// เปิดการตรวจสอบ CPU
computer.Open()
For Each hardwareItem As IHardware In computer.Hardware
'// ตรวจสอบเฉพาะ CPU
If hardwareItem.HardwareType = HardwareType.Cpu Then
hardwareItem.Update()
For Each sensor As ISensor In hardwareItem.Sensors
If sensor.SensorType = SensorType.Temperature AndAlso sensor.Name.Contains("CPU Package") Then
pgbTemp.Value = sensor.Value
lblCpuName.Text = sensor.Name & ": " & sensor.Value & " °C."
End If
Dim LV As ListViewItem
LV = lvwData.Items.Add(sensor.Name)'// Primary Node
LV.SubItems.Add(sensor.Value)
Next
End If
Next
computer.Close()
computer.IsCpuEnabled = False
End Sub
Private Sub cmbRefresh_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbRefresh.SelectedIndexChanged
'// 1000 Millisecond = 1 Second.
Timer1.Interval = CByte(cmbRefresh.Text) * 1000
End Sub
Private Sub frmLibreHardware_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
Me.Dispose()
GC.SuppressFinalize(Me)
Application.Exit()
End Sub
End Class
ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2017) ได้ที่นี่ ...
หน้า:
[1]