首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么用.NET来获取CPU、显卡和硬盘的温度

2012-08-16 
如何用.NET来获取CPU、显卡和硬盘的温度?怎样用.NET来获取这些信息?C#和VB.NET的都行还有,别告诉我用这个代

如何用.NET来获取CPU、显卡和硬盘的温度?
怎样用.NET来获取这些信息?C#和VB.NET的都行
还有,别告诉我用这个代码:

C# code
Double CPUtprt = 0;   System.Management.ManagementObjectSearcher mos = new System.Management.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;       textBox1.Text = ("CPU 溫度 : " + CPUtprt.ToString() + " °C");   }  

这个代码运行会出错,跳出ManageMentException,然后说不受支持!
请告诉我一个可用的代码,最好是一个类库,而不是窗体应用程序

[解决办法]
http://topic.csdn.net/u/20100810/16/822f59ed-bc4d-4983-81da-e151c337f0a5.html

http://topic.csdn.net/u/20090907/16/3f7ea3a7-ac50-455b-a5a4-50b567b7bf77.html
[解决办法]
http://topic.csdn.net/u/20090505/16/8b03a228-4099-4f53-8b99-17bbf5e5a477.html
[解决办法]
本机用VS2005 运行LZ的C#程序正常,可以取到CPU温度~
[解决办法]
可以用系统API,通过DllImport的方式。
[解决办法]
Z直接调用API
[解决办法]
不知道为什么LZ会说WMI读取不出来呢?
WMI就是封装的API的啊完全可以使用的啊
[解决办法]
LZ的代码我在VS2010可以正常执行的啊

不知道是否引用System.Management?
[解决办法]
我想楼主真没引用System.Management。。。
[解决办法]
VB.NET code
Public 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}!rootwmi").ExecQuery("Select  CurrentTemperature  From  MSAcpi_ThermalZoneTemperature")          For Each u In mCPU                  s = s & u.CurrentTemperature          Next                     Set mCPU = Nothing                     GetCPUTemp = (s - 2732) / 10            DoEvents  End Function
[解决办法]
在DotFramewoek 中已经封装了System.Management,这里提供的功能已经足以获取系统的信息

热点排行