簡體   English   中英

如何使用c#從Bios獲取CPU溫度信息?

[英]How to get the CPU Temperature info from Bios using c#?

如何使用c#從Bios獲取CPU溫度信息我嘗試了CPU溫度監控中的代碼

但是沒有運氣。 “枚舉器。當前”引發了異常。

我怎樣才能做到這一點? 謝謝。

錯誤:

“此系統不支持所需的WMI對象(1)-在System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)\\ r \\ n中檢查異常文件\\ r \\ n不支持\\ r \\ n \\ r \\ n CedarLogic.WmiLib.SystemStatistics.RefreshReadings()中的.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()\\ r \\ n在CedarLogic.WmiLi中的D:\\ Downloads \\ TempMonitorSrc \\ TemperatureMonitorSln \\ WmiLib \\ SystemStatistics.cs:第25 \\ r \\ n中D:\\ Downloads \\ TempMonitorSrc \\ TemperatureMonitorSln \\ WmiLib \\ SystemStatistics.cs中的.SystemStatistics.get_CurrentTemperature(),位於D:\\ Downloads \\ TempMonitorSrc \\ TemperatureMonitorSln \\ Temper。中的TemperatureMonitor.SystemTrayService.CheckSupport()處的第87行cs:第260行“

您需要支持許多不同的硬件傳感器來收集溫度數據。 更好的方法是准備使用以下解決方案:

1)打開硬件監視器-開源.NET 2.0應用程序:

http://openhardwaremonitor.org/

2)核心無溫度應用程序和.NET API獲取溫度數據:

http:// www.alcpu.com/CoreTemp/developers.html

我知道這個線程很舊,但是我想用一些不同的方法來添加它。 從主板上的I / O芯片上獲取品牌/型號,並獲取所述I / O芯片的數據表(我將在此處使用ITE IT8783F芯片作為參考)。 在類似於Environment Controller的環境下查看並計算訪問和讀取端口。 是的...您必須了解HEX,MSB和LSB,在這里我不會進行計算/解釋(超出范圍)。 現在,在這種情況下,訪問端口為295,讀取端口為296。在本節的下半部分,有一個用於環境控制器寄存器的表。 在這種情況下,CPU溫度在寄存器2Ah(或0x2A)中。 因此,我用來提取信息的VB / C#代碼如下所示:

Private Function GetCPUTemp() As UInt32
    Dim tCpu As UInt32
    Dim stCpu As Short
    PortAccess.Outputb(&H295, &H2A)
    stCpu = PortAccess.Inputb(&H296)
    tCpu = CType(stCpu, UInt32)
    Return tCpu
End Function

現在,您只需要弄清楚您想使用它做什么。 請記住,如果您發現瘋狂的古怪數字,或者是從錯誤的寄存器中拉出,或者您可能需要實現比例因子(就像對電壓讀數所做的那樣)。 這也應該在數據表中。

我建議采用以下方法。 有幾個免費的應用程序可以監視CPU溫度並顯示它。 嘗試下載一些方法,然后分析應用程序以查看其調用的方法,以發現其工作方式。 也許他們與您現有的方法有很大不同。 另外,您也許可以給他們發送電子郵件,並詢問他們的工作方式...

http://www.alcpu.com/CoreTemp/

http://www.techpowerup.com/realtemp/

http://malektips.com/core-temp-cpu-windows-system-tray-taskbar.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM