c# 获取CPU温度方法

laserhz 2011-08-03 05:49:58
public static void GetWenDu()
{
try
{
Double CPUtprt = 0;
ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");

foreach (System.Management.ManagementObject mo in mos.Get())
{
CPUtprt = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;
MessageBox.Show("CPU 溫度 : " + CPUtprt.ToString() + " °C");
}
}
catch (Exception exc)
{
MessageBox.Show(exc .ToString ());
}
}
...全文
710 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
潘少博 2011-08-04
  • 打赏
  • 举报
回复
补充一下。温度不是固定的。多等会就好了。或者下面放个电热炉
我用的xp系统。没有任何提示,不用点击任何按钮,就ok
cjh200102 2011-08-04
  • 打赏
  • 举报
回复
漂移,关注。
潘少博 2011-08-04
  • 打赏
  • 举报
回复
恩。我试了。没问题,但是温度是固定的。
白鸽 2011-08-04
  • 打赏
  • 举报
回复
什么东西!!
yelang 2011-08-04
  • 打赏
  • 举报
回复
我试了一下,有错误

try
{
Double CPUtprt = 0;
ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");

foreach (System.Management.ManagementObject mo in mos.Get())//这里报错:“不受支持”
{
CPUtprt = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;
this.lblTemp.Text = CPUtprt.ToString();
}

}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
zhangsir6 2011-08-04
  • 打赏
  • 举报
回复
这个方法获取的温度好像是固定的……这个温度是开机时系统设置的……
laserhz 2011-08-04
  • 打赏
  • 举报
回复
需要一种非管理员权限就可以执行的方法!呵呵
laserhz 2011-08-04
  • 打赏
  • 举报
回复
没有错误的,需要管理员权限运行
mjay0210 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ustbwuyi 的回复:]

啥意思?
[/Quote]

他想煮鸡蛋 看看熟没熟
杨友山 2011-08-03
  • 打赏
  • 举报
回复
没搞过这个
ustbwuyi 2011-08-03
  • 打赏
  • 举报
回复
啥意思?
浪子-无悔 2011-08-03
  • 打赏
  • 举报
回复
楼上的是散分还是啥意思?
laserhz 2011-08-03
  • 打赏
  • 举报
回复
上面是一种方法,但需要管理员方式,有不要管理员方式的吗?或者能让管理员方式程序不点击那个WIN7里面的确定,他能够自动运行?我想把温度查看的代码放到一个开机自启动的程序里面。

谢谢大家!
py1025677845 2011-08-03
  • 打赏
  • 举报
回复
mark 随便顶。。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧