我想用C#获取CPU信息,如CPU温度和CPU风扇转速,我通过WMI来做的,能够得到CPU温度,但是这个值不是实时温度,每次获取的值都是一样的;CPU风扇转速获取不了,返回空。大家帮帮忙呀!

解决方案 »

  1.   

    http://www.cnblogs.com/zgx/archive/2009/03/13/1410343.html其实楼主可以去查阅MSDN\baidu\googleGoogle
      

  2.   

    http://www.pudn.com/downloads181/sourcecode/windows/csharp/detail847512.html这个东西对楼主应该会有帮助。
      

  3.   

    Console.WriteLine(managementObject.Properties["CurrentTemperature"].Value.ToString());//3132 
    Console.WriteLine((Convert.ToInt32(managementObject.Properties["CurrentTemperature"].Value) - 2732) / 10); 
    http://topic.csdn.net/u/20090505/16/8b03a228-4099-4f53-8b99-17bbf5e5a477.html
      

  4.   

    to zhoukang0916(思源)我已经google了很长时间了,都没找到满意的答案,你提供的这个网址我看了,没有我想获取的信息(我要获取CPU温度和风扇转速)
      

  5.   

    to wuyq11(人生如梦)您说的这个网址我看了,我这里不存在那样的问题,我是能够获取CPU温度,只是这个温度不是实时温度。
      

  6.   

    to ZHOUGE您好,这个网站要注册VIP才可以下载,有没有免费的呀!^_^
      

  7.   

    楼主使用WMI来做的话,可以使用Win32_Fan 这个类来获取风扇转速 
      

  8.   

    to hyblusea(恒)我正是用Win32_Fan来做的,如下ManagementObjectSearcher mySearcher = new ManagementObjectSearcher("select * from Win32_Fan");
    foreach (ManagementObject myObject in mySearcher.Get())
    {
       Console.WriteLine(myObject.GetText(TextFormat.Mof));
    }可根本执行不到foreach这句!!!
      

  9.   

    你的代码:
    ManagementObjectSearcher mySearcher = new ManagementObjectSearcher("select * from Win32_Fan"); 
    foreach (ManagementObject myObject in mySearcher.Get()) 

      Console.WriteLine(myObject.GetText(TextFormat.Mof)); 
    } mySearcher.Get()获取不到吗?
      

  10.   


    毕竟脚本语言的能力也是有限的.如果获取不到,可以考虑一下直接到BIOS去取,使用汇编,难度就很大了.