Login  

Blog Stats

News

隨筆分類

文章分類

每月文章

優質好站連結


強力鎯頭 の VB 部落

您好 ! 歡迎蒞臨 Power Hammer 的 VB 部落 ! 網誌內容主要為 VB .Net C# WMI 等相關資訊 , 提供網友參考

 

VB.Net 使用 WMI ( Windows Management Instrumentation ) 來取得 CPU 溫度

 

<< VB.Net >>

 

請先加入參考 System.Management

 

Imports System

Imports System.Management

 

Public Class Form1

 

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

 

        Dim CPUtprt As Integer = CPU_Temperature()

 

        If CPUtprt >= 100 Then

            MessageBox.Show("CPU 溫度: " & CPUtprt.ToString & " °C" & ControlChars.CrLf & _

"溫度破錶嚕! 快準備煎蛋囉! " & ControlChars.CrLf & _

"或開啟自動灑水系統降溫喔!")

        Else

            MessageBox.Show("CPU 溫度: " & CPU_Temperature() & " °C")

        End If

 

    End Sub

 

    ' 取得CPU 溫度

    Private Function CPU_Temperature() As Integer

        Dim Q As String = "Select * From MSAcpi_ThermalZoneTemperature"

        Dim mos As New ManagementObjectSearcher("root\WMI", Q)

        For Each mo As ManagementObject In mos.Get

            Return Convert.ToInt32(mo.GetPropertyValue("CurrentTemperature") - 2732) / 10

        Next

    End Function

 

End Class

 

CPU Temperature

 

 

' ================================================================

 

 

<< VB6 >>

 

Private Sub Command1_Click()

 

    MsgBox "CPU 溫度 : " & CPU_Temperature & " °C"

  

End Sub

 

Private Function CPU_Temperature() As Integer

 

    Dim WMIsvc As Object

    Dim CltItems As Object, CltItem As Object

    Dim Q As String

   

    Set WMIsvc = GetObject("winmgmts:\\.\root\WMI")

   

    Q = "SELECT * FROM MSAcpi_ThermalZoneTemperature"

   

    Set CltItems = WMIsvc.ExecQuery(Q, , 48)

   

    For Each CltItem In CltItems

        CPU_Temperature = CltItem.CurrentTemperature

    Next

   

    CPU_Temperature = (CPU_Temperature - 2732) / 10

   

    Set CltItem = Nothing

    Set CltItems = Nothing

    Set WMIsvc = Nothing

 

End Function

 

posted on Thursday, October 11, 2007 1:41 PM

What People Are Saying About This Post...

# 使用 C語言 取得 CPU 溫度 7/8/2008 2:10 PM junk
Windows 禁止應用程式存取硬體資源, 所以硬體監測程式要拆成2部分-驅動程式和應用程式. 驅動程式負責存取硬體資源, 應用程式以 DeviceIoControl 函式和驅動程式溝通. 到這個網站,有原始碼可以下載
http://temperature.myweb.hinet.net/

# re: VB.Net 使用 WMI 取得 CPU 溫度 7/17/2008 5:31 PM Power Hammer
Thanks a lot

# re: VB.Net 使用 WMI 取得 CPU 溫度 12/5/2008 12:37 AM FISHBALL
Return Convert.ToInt32(mo.GetPropertyValue("CurrentTemperature") - 2732) / 10

出現問題..按下button 後 出現(不受支援)

What do you have to say?

Title:
Name:
Url:
驗證碼  
Comments: