C#如何获取电脑CPU温度,硬盘温度,主板温度,CPU转速 C#如何获取电脑CPU温度,硬盘温度,主板温度,CPU转速 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string 硬盘温度 = "MSStorageDriver_ATAPISmartData"; string CPU温度 = "MSAcpi_ThermalZoneTemperature"; Double 温度 = 0; ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From " + CPU温度); foreach (System.Management.ManagementObject mo in mos.Get()) { 温度 = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10; Console.WriteLine("CPU温度 : " + 温度.ToString() + " °C"); } mos.Query = new ObjectQuery("Select * From " + 硬盘温度); foreach (System.Management.ManagementObject mo in mos.Get()) { byte[] data = (byte[])mo.GetPropertyValue("VendorSpecific"); Console.WriteLine("硬盘温度:" + data[3] + " °C"); }将就看着你可以查询WQL,WMI,或者ManagementObjectSearcher的相关信息了解。调用系统API可能也OK。 WMICodeCreator.exe 用这个工具去找,方法楼上是正确的。 查询电脑硬件信息使用WMI,使用WMI工具,找到你需要的类库,方法为2楼的方法。 WMI Windows Management Instrumentation 提供系统、装置和应用程式资讯,在 .NET 中提供 System.Management 命名空间 取得 WMI 讯息,以下介绍如何取得 CPU 温度与序号2.1 使用 ManagementObjectSearcher 类别,使用前必须先将 System.Management 加入参考未命名3、代码的实现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");} http://www.codeproject.com/Articles/25783/WMI-Provider-Extensions-in-NET-3-5参考 在net中已经封装了System.Management,这里提供的功能已经足以获取系统的信息 用SNMP可以吗???例如mib浏览器,需要哪些mib文件??谢谢 WinForm一个窗体接收输入数据,数据属于不同表。 谁有c#入门经典(第四版)电子书下载? 如何设计一个通用的窗体类? C#中调用一个VC写的ATL组件,如何在调试进入ATL的代码中调试 请高手指点多个人同时开发一个项目时如果分工? 菜鸟问题:怎么在.NET中添加组建并调用它...... 请教c/s中,客户端与服务器端之间的数据通讯。 高手请进!关于邮件接收解码!up有分! 急求一个网络教学系统?主要实现课程章节练习与考试,和成绩分析~~~谢谢了 HttpWebRequest通过POST的方式请求登录 如何使用mib-browser 获取cpu温度 C#窗体程序中有关水晶报表的问题
string 硬盘温度 = "MSStorageDriver_ATAPISmartData";
string CPU温度 = "MSAcpi_ThermalZoneTemperature"; Double 温度 = 0; ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From " + CPU温度);
foreach (System.Management.ManagementObject mo in mos.Get())
{
温度 = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;
Console.WriteLine("CPU温度 : " + 温度.ToString() + " °C");
} mos.Query = new ObjectQuery("Select * From " + 硬盘温度);
foreach (System.Management.ManagementObject mo in mos.Get())
{
byte[] data = (byte[])mo.GetPropertyValue("VendorSpecific");
Console.WriteLine("硬盘温度:" + data[3] + " °C");
}
将就看着
你可以查询WQL,WMI,或者ManagementObjectSearcher的相关信息了解。
调用系统API可能也OK。
方法楼上是正确的。
参考