当前位置:编程学习 > VB >>

VB硬件问题

如何获得主硬盘温度,CPU温度,CPU转速,显卡温度,主板温度?CPU温度不要恒定40度的那种 --------------------编程问答-------------------- 拿温度计去量量就知道了 --------------------编程问答-------------------- CPU不是转滴,是用来给犯错的人跪滴。  --------------------编程问答-------------------- 电源切掉 --------------------编程问答-------------------- 下个超级兔子 --------------------编程问答--------------------
引用 2 楼 aisac 的回复:
CPU不是转滴,是用来给犯错的人跪滴。

跪CPU不咋地,我们都在跪主板的。 --------------------编程问答-------------------- CPU的温度,我知道,其他的我不清楚 --------------------编程问答-------------------- CPU温度,可以理解
CPU转速?应该是CPU风扇转速吧
显卡温度?应该是指显卡的CPU温度吧
主板温度?主板的那一部分?CPU、内存都在主板上,而主板上有那么多MCU,真不知道怎么理解这个主板。
还有温差要求是多少?你想通过纯软件方式得到这些信息还是软硬结合?

你的问题很模糊呀,说清楚了别人才好答你呀。 --------------------编程问答-------------------- 读取硬盘温度的方法:通过WMI读取硬盘的SMART。SMART 数据存储于 WMI 中 ROOT\WMI\MSStorageDriver_ATAPISmartData 命名空间中,其中属性 'VendorSpecific' 包含有硬盘温度的数据,这是ATA标准定义的。可能你读出这些数据来会有些困惑,其实这是一个结构,第一个和第二个字节代表 SMART 版本信息,从第三个字节起定义 SMART 的属性,每个属性为12字节长,每个属性的第一字节为当前属性定义。详细属性请看http://smartlinux.sourceforge.net/smart/attributes.php。

主板温度:还是用WMI。ROOT\WMI\MSAcpi_ThermalZoneTemperature。读取成员 CurrentTemperature 为当前温度,CriticalTripPoint 为临界温度。此温度是以绝对 0 度开始并以 1/10 度增加,公式如下

  当前摄氏度 = (CurrentTemperature - 2732) / 10
--------------------编程问答-------------------- CPU转速应该说的是CPU频率吧。

从Pentium开始,CPU里面有个计数器,每个时钟会增加1,间隔1秒读取,然后相减就可以得到了。

不过VB不能直接访问寄存器,需要写段汇编,建议做成dll给VB调用。网上代码很多的。 --------------------编程问答-------------------- 补充一下

S.M.A.R.T状态以表的形式输出结果,表中很直观的体现了S.M.A.R.T的构成。一幅完整的S.M.A.R.T表由以下几项构成。
ATTRIBUTE DESCRIPTION(属性描述)、ID(属性标识码)、THRESHOLD(阈值)、VALUE(属性当前值)、WO
RST(属性最坏值)、DATA(数据记录)、STATUS(状态)。
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,