已经请教几天了,请高手指点,下面我有个例子,说是可以,可是出错,如果不会做的,会改错的也可以啊,呵呵
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,安装正常
所以我现在怀疑是不是什么插件没装好还是要安装其它的,谢谢回复
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,安装正常
所以我现在怀疑是不是什么插件没装好还是要安装其它的,谢谢回复
另外使用WMI得是管理员身份运行。
WMI提供函数得硬件支持,可能LZ的机器硬件或系统不支持
64位Vista不支持WMI的一些命令
你不是骗我的吧,我试过N次怎么都不行,运行结果能给出来看下吗,还有我用的是双核的CPU
windows xp sp2的系统,看到你的回复真是太高兴了,我也是用管理员的身份运行的,单硬盘,四条内存,一个显卡,就这些了,会不支持吗?
还是请你发个结果来看看吧,谢谢
Console.WriteLine(managementObject.Properties["CurrentTemperature"].Value.ToString());//3132
Console.WriteLine((Convert.ToInt32(managementObject.Properties["CurrentTemperature"].Value) - 2732) / 10);//40
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
http://bbs.itzhe.cn/thread-58868-1-1.html
http://it.inhe.net/richbbs/2006/333/3338143.htm
在下面的代码foreach (ManagementObject mo in collection)中,在“in”的地方错误,错误信息“不受支持”!!!
我用wbemtest.exe查看时:连接“root\WMI”查询"Select CurrentTemperature From MSAcpi_ThermalZoneTemperature"必须要把“检索原型类型”选中,否则不能用。http://topic.csdn.net/u/20090927/17/2b1175f2-dcf6-4efb-baf6-e9e9fab0568a.html?80043