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