做一个CPU温度的程序
已经请教几天了,请高手指点,下面我有个例子,说是可以,可是出错,如果不会做的,会改错的也可以啊,呵呵
CODE
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
ManagementObjectSearcher vManagementObjectSearcher = new ManagementObjectSearcher(@"ROOT\WMI", @"select * from MSAcpi_ThermalZoneTemperature");
foreach (ManagementObject managementObject in vManagementObjectSearcher.Get())
{
Console.WriteLine(managementObject.Properties["CurrentTemperature"].Value.ToString());
}
}
}
}
这是C#的代码,错在foreach (ManagementObject managementObject in vManagementObjectSearcher.Get())这句话上,说“不受支持”
Imports System
Imports System.Management
Public Class Form1
Private Sub Button1_Click(ByVal s As Object, ByVal e As EventArgs) Handles Button1.Click
Dim CPUtprt As Integer = CPU_Temperature()
If CPUtprt >= 100 Then
MessageBox.Show("CPU 溫度: " & CPUtprt.ToString & " °C" & ControlChars.CrLf & "溫度破錶嚕! 快準備煎蛋囉! " & ControlChars.CrLf & "或開啟自動灑水系統降溫喔!")
Else
MessageBox.Show("CPU 溫度: " & CPU_Temperature() & " °C")
End If
End Sub
' 取得CPU 溫度
Private Function CPU_Temperature() As Integer
Dim Q As String = "Select * From MSAcpi_ThermalZoneTemperature"
Dim mos As New ManagementObjectSearcher("root\WMI", Q)
For Each mo As ManagementObject In mos.Get
Return Convert.ToInt32(mo.GetPropertyValue("CurrentTemperature") - 2732) / 10
Next
End Function
End Class
以上是VB.NET代码,错在Return Convert.ToInt32(mo.GetPropertyValue("CurrentTemperature") - 2732) / 10
这句话上,依然是不受支持
我用的是vs2005,安装正常
所以我现在怀疑是不是什么插件没装好还是要安装其它的,谢谢回复