7,539
社区成员




Private Sub getCpu()
timer1.Enabled = True
Try
Dim ms As New System.Management.ManagementScope("\\" & stringMachineName & "\root\cimv2", co)
'本地
treeView1.Nodes.Clear()
oq = New System.Management.ObjectQuery("SELECT * FROM Win32_processor")
query = New ManagementObjectSearcher(ms, oq)
queryCollection = query.[Get]()
nodeCollection = createParentNode("CPU信息", treeView1, 7)
For Each mo As ManagementObject In queryCollection
createChildNode(nodeCollection, "★型号: " + mo("Name").ToString().Trim(), 7)
createChildNode(nodeCollection, "制造商: " + mo("Manufacturer"), 3)
createChildNode(nodeCollection, "类型: " + mo("Caption"), 3)
createChildNode(nodeCollection, "地址位宽: " + mo("AddressWidth") & "KB", 3)
createChildNode(nodeCollection, "数据位宽: " + mo("DataWidth") & "KB", 3)
createChildNode(nodeCollection, "最大频率: " + formatSpeed(Int64.Parse(mo("MaxClockSpeed").ToString())), 3)
createChildNode(nodeCollection, "2级缓存: " + mo("L2CacheSize").ToString() & " KB", 3)
createChildNode(nodeCollection, "CPU插槽: " + mo("SocketDesignation"), 3)
' createChildNode(nodeCollection, "1111: " + mo["PNPDeviceID"]);
createChildNode(nodeCollection, "描述: " + mo("Version"), 3)
Next
Dim vManagementObjectSearcher As New ManagementObjectSearcher("root\WMI", "select * from MSAcpi_ThermalZoneTemperature")
For Each managementObject As ManagementObject In vManagementObjectSearcher.[Get]()
createChildNode(nodeCollection, "CPU温度: " & (Convert.ToDouble(managementObject("CurrentTemperature")) - 2732) / 10.0 & "°C", 3)
Next
If treeView1.Nodes(0).Nodes(9).Text.Trim() = "" Then
oq = New System.Management.ObjectQuery("SELECT * FROM Win32_TemperatureProbe")
query = New ManagementObjectSearcher(ms, oq)
queryCollection = query.[Get]()
For Each mo As ManagementObject In queryCollection
createChildNode(nodeCollection, "CPU温度: " + mo("CurrentReading"), 3)
Next
Else
End If
Me.Update()
Catch e As Exception
MessageBox.Show("Error: " & e)
End Try
Me.Update()
treeView1.ExpandAll()
End Sub
private void getCpu()
{
timer1.Enabled = true;
try
{
System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\" + stringMachineName + "\\root\\cimv2", co);//本地
treeView1.Nodes.Clear();
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_processor");
query = new ManagementObjectSearcher(ms, oq);
queryCollection = query.Get();
nodeCollection = createParentNode("CPU信息",treeView1,7);
foreach (ManagementObject mo in queryCollection)
{
createChildNode(nodeCollection, "★型号: " + mo["Name"].ToString().Trim(),7);
createChildNode(nodeCollection, "制造商: " + mo["Manufacturer"],3);
createChildNode(nodeCollection, "类型: " + mo["Caption"], 3);
createChildNode(nodeCollection, "地址位宽: " + mo["AddressWidth"] + "KB", 3);
createChildNode(nodeCollection, "数据位宽: " + mo["DataWidth"] + "KB", 3);
createChildNode(nodeCollection, "最大频率: " + formatSpeed(Int64.Parse(mo["MaxClockSpeed"].ToString())), 3);
createChildNode(nodeCollection, "2级缓存: " + mo["L2CacheSize"].ToString() + " KB", 3);
createChildNode(nodeCollection, "CPU插槽: " + mo["SocketDesignation"], 3);
createChildNode(nodeCollection, "描述: " + mo["Version"], 3);
// createChildNode(nodeCollection, "1111: " + mo["PNPDeviceID"]);
}
ManagementObjectSearcher vManagementObjectSearcher = new ManagementObjectSearcher(@"root\WMI", @"select * from MSAcpi_ThermalZoneTemperature");
foreach (ManagementObject managementObject in vManagementObjectSearcher.Get())
{
createChildNode(nodeCollection, "CPU温度: " + (Convert.ToDouble(managementObject["CurrentTemperature"]) - 2732) / 10.0 + "°C",3);
}
if (treeView1.Nodes[0].Nodes[9].Text.Trim() == "")
{
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_TemperatureProbe");
query = new ManagementObjectSearcher(ms, oq);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
createChildNode(nodeCollection, "CPU温度: " + mo["CurrentReading"], 3);
}
}
else
{ }
this.Update();
}
catch (Exception e)
{
MessageBox.Show("Error: " + e);
}
this.Update();
treeView1.ExpandAll();
}