毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

如何使用VB6.0读取BIOS中CPU的核心温度

更新时间:2012-9-21:  来源:毕业论文

总所周知,个人计算机会在CPU温度过高时自动断电保护,要实现这一功能首先就是要是取得CPU的核心温度。在主板的BIOS中有一项可以查看CPU核心的温度。我想通过VB6.0编写程序读取它。我尝试过网上提供的一些方法,比如:

VB codePublic Function GetCPUTemp() As Double
          Dim i     As Integer
          Dim mCPU     As Variant
          Dim u     As Variant
          Dim s     As String
           
          Set mCPU = GetObject("WINMGMTS:{impersonationLevel=impersonate}!root\wmi").ExecQuery("SELECT   CurrentTemperature   From   MSAcpi_ThermalZoneTemperature")
          For Each u In mCPU
                  s = s & u.CurrentTemperature
          Next
           
          Set mCPU = Nothing
           
          GetCPUTemp = (s - 2732) / 10
           
End Function


这是网上比较多出现的代码,能读出温度值,但是是一个恒定不变的(AMD的CPU是40.0℃),这其实是一个错误的值。有高手说,要读取正确的值需要主板支持,但为什么像“Z武器”这样的工具却能在任何一台电脑上实现CPU温度的读取呢?

我想实现真正的能正确读取CPU温度值的功能!请高手不吝赐教!小弟倒地拜谢先!!

看到这代码就知道他恒定不动了,你最少要用一个刷新(如时钟控件,每一秒刷新一次(读取一次CPU温度就行))

Private Sub Timer1_Timer()
  Debug.Print GetCPUTemp

End Sub
你的程序放入定时器,在我机子上温度的确有变化,不过属于跨度比较大才有变化值的一种。
不能实时串跟踪的缓慢变化。

cpu温度可以在pmu里读到,端口是68h、6ch,你需要一个pmu的说明,看明白了很简单的。  

应该说PMU才是关键。。。。。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。