|
การ 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) ได้ที่นี่ ...
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|