2 yellowsuper001 yellowsuper001 于 2013.06.05 12:32 提问

如何实现从WMI动态获取CPU温度

本人通过VB编程从WMI获取CPU温度,但却是静止不动的,有高手说是必须在某些系统信息发生改变时才会刷新数据。但打开SPEEDFAN温度检测后,WMI里的CPU温度数据却动态地刷新着。并且是准确地。所以在这请教高手解释这里面的原因。

附上VB代码

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

2个回答

oyljerry
oyljerry   Ds   Rxr 2015.01.15 21:55
已采纳

是不是这个wmi数据没有刷新。

wangyaninglm
wangyaninglm   Ds   Rxr 2015.01.15 21:49
HuaXiaWuAi
HuaXiaWuAi SB
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
通过WMI 获取 CPU 温度
MSAcpi_ThermalZoneTemperature
获取CPU温度(非wmi)
点击打开链接
C#实时获取CPU温度及其它硬件信息(非WMI)
通过C#程序实时读取硬件信息及更新显示,本人亲测!
玩转WMI --- 用脚本获取硬盘传感器温度和SMART讯息
遍历了一下wmi内有专门的类对象
c# 获取CPU温度(非WMI,直接读取硬件)
c#获取cpu温度 很早一个项目做远控,所以需要用到获取cpu温度,但是就是不知从何下手,无意中发现了Open Hardware Monitor,令我的项目成功完成 亲测20台清装xp sp2的机器,无问题,Windows 7和Windows 8 也测试过,无问题。。当然,此库可不止能获取cpu温度!! Open Hardware Monitor可以支持大部分常见的主板芯片与硬件
C# 获取CPU 温度 的两种方式
上次接手了一个队服务器的检测系统软件,但是在获取CPU温度的时候总是出问题,查找了很多的资料,总结了一下两种方法,是比较常见的 //第一种方法 就是传统的 wimi 方式获取 ,需要引进一个命名空间  using System.Management;  public static void GetCPUTemperature()         {             string s
获取电脑cpu温度(非wmi)
利用网上OpenHardwareMonitorLib.dll获取电脑cpu温度,可动态变化(非wmi)
【已解决】C#获取CPU温度支持Win10(OpenHardwareMonitor)
本方法Win10 64bit 亲身测试可用,温度可以实时更新!! 很久前在Win8实现过远程CPU温度监控,用的是WMI方法,感觉简单易用。 现在换上了Win10,发现获取到的温度一直不会变,于是找到了http://blog.csdn.net/yanpingsoft/article/details/8754679 提到了OpenHardwareMonitor,于是就尝试了一下,但发现了一个问题
python 显示树莓派的cpu与cpu温度
import commands def get_cpu_temp():     tempFile = open( "/sys/class/thermal/thermal_zone0/temp" )     cpu_temp = tempFile.read()     tempFile.close()     return float(cpu_temp)/1000     # U
Python获取CPU、内存和硬盘等windowns系统信息的2个例子
例子一: Python用WMI模块获取windowns系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。 复制代码代码如下: #!/usr/bin/env python  # -*- coding: utf-8 -*-  import wmi  import os  import sys  im