Parsi Coders
سورس کد بدست اوردن درجه دمای سی پی یو - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Visual Basic Programming (http://parsicoders.com/forumdisplay.php?fid=39)
+---- انجمن: Visual Basic.Net (http://parsicoders.com/forumdisplay.php?fid=43)
+---- موضوع: سورس کد بدست اوردن درجه دمای سی پی یو (/showthread.php?tid=1561)



سورس کد بدست اوردن درجه دمای سی پی یو - Amin_Mansouri - 01-20-2012

Get the CPU temperature
Not just Celsius and Fahrenheit, but Kelvin too.

سورس کد :

کد پی‌اچ‌پی:
''' <summary>
    ''' 
Specifies the format the temp should be returned in
    
''' </summary>
    Public Enum TempFormat
        Fahrenheit
        Celsius
        Kelvin
        ''' 
<summary>
        
''' The CPU temp will be returned in it's rawuncalculated format
        
''' </summary>
        Raw
    End Enum
    ''' 
<summary>
    
''' Gets the current temp of the CPU
    ''' 
</summary>
    
''' <param name="Format">The temp scale the value should be returned in</param>
    Public Function GetCPUTemp(ByVal Format As TempFormat) As Single
        Dim enumerator As System.Management.ManagementObjectCollection.ManagementObjectEnumerator
        Dim searcher As New System.Management.ManagementObjectSearcher("root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature")
        enumerator = searcher.Get.GetEnumerator()
        While enumerator.MoveNext
            Dim obj As System.Management.ManagementObject = CType(enumerator.Current, System.Management.ManagementObject)
            Select Case format
                Case TempFormat.Fahrenheit
                    Return CSng((obj.Item("CurrentTemperature") / 10 - 273.15) * 9 / 5 + 32)
                Case TempFormat.Celsius
                    Return CSng(obj.Item("CurrentTemperature") / 10 - 273.15)
                Case TempFormat.Kelvin
                    Return CSng(obj.Item("CurrentTemperature") / 10)
                Case TempFormat.Raw
                    Return CSng(obj.Item("CurrentTemperature"))
            End Select
        End While
    End Function