c# winfrom 如何获取远程计算机的CPU温度,具体些,能有些代码更好了,谢谢!

解决方案 »

  1.   

    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 "); } 这个是获得本机的
      

  2.   

    远程计算机上做个Web Service,然后用楼上的代码做一个接口不就行了。
      

  3.   

    使用wmi 的Win32_TemperatureProbe  类获取温度,但是得到的 ManagementObjectCollection对象个数为0,从一个人的博客上看到 说是大部分主板不直接支持wmi 的Win32_TemperatureProbe,可能就是这个原因吧
      

  4.   

    谢谢你的思路,但我的问题是获取远程计算机的CPU温度,因为监控的计算机数量多,不能在没个计算机上都写个程序返回本机的CPU温度,不现实,所以有没有直接通过远程机子的IP、登录权限的方式获取它的温度的方法? 
      

  5.   

    而且写Web Service就得用到IIS,不能保证远程计算机装着必须的软件
      

  6.   

    那你总得在远程计算机上装客户端,然后通过网络将CPU温度上传到服务器端,不然是没办法获取的。
      

  7.   

    否在一个域上,
    可以考虑用策略允许域的WMI查询,这样是否可以不装客户端? 允许装的情况下用域发布.
      

  8.   

    在对方系统未授权下,获取对方CPU的温度,绝对是流氓软件