在应用程序中,有时需要在界面中显示计算机的硬件信息和进程信息。在.Net中提供了可以查询信息的类。Management类,在程序中添加应用后进行使用。

1 属性

类似的属性介绍可见下面:
属性介绍
根据以上的属性介绍可以查询常见的信息,比如内存,硬件等等。当然在内存信息中还有分类,在上述属性介绍中也有,同样通过代码也是可以获取。

2 编写流程

a 初始化

 ManagementClass SystempMeg = new ManagementClass(syetemType);

其中systtemtype就是上面属性介绍:
Win32_Processor:获取cpu信息。
Win32_OperatingSystem:内存信息。等等可以打开上述链接查询
b 获取信息中属性
在内存信息中需要查询可用内存大小和未使用的,所以需要获取属性名称。
可通过程序进行获取,如下:

                ManagementObjectSearcher MySearch = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
SystempMeg.Options.UseAmendedQualifiers = true;
PropertyDataCollection properties = SystempMeg.Properties;
foreach (PropertyData property in properties)
{
WriteMegLog(
"---------------------------------------");
WriteMegLog(property.Name);
WriteMegLog("Description: " + property.Qualifiers["Description"].Value); }
//c 获取属性值
//在知道有关属性关键词后,下面就是获取属性值 foreach (ManagementObject c in MySearch.Get())
{
WriteMegLog("Value: ");
WriteMegLog(
c.Properties[property.Name.ToString()].Value.ToString());
}

在通过函数获取Mysearch后,再进行查询。为此结束。

3 代码片

 ManagementClass SystempMeg;
public SystemMessage (string syetemType)
{
SystempMeg = new ManagementClass(syetemType);
}
public void GetCpuSystemMeg()
{
if (SystempMeg != null)
{
ManagementObjectSearcher MySearch = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject MyObject in MySearch.Get())
{
WriteMegLog("CPU处理器系列类型:");
WriteMegLog(MyObject.Properties["Family"].Value.ToString());
WriteMegLog("该处理器的最大速度(以兆赫为单位):");
WriteMegLog(MyObject.Properties["MaxClockSpeed"].Value.ToString());
WriteMegLog("CPU的当前状态为:");
WriteMegLog(MyObject.Properties["CpuStatus"].Value.ToString());
WriteMegLog("CPU处理器的当前速度(以兆赫为单位):");
WriteMegLog(MyObject.Properties["CurrentClockSpeed"].Value.ToString());
}
MySearch.Dispose();
SystempMeg.Dispose(); }
}

4 注意

在获取属性值,有的属性值无法获取,现在还没找到原因,比如获取当前网速。

最新文章

  1. 剑指Offer:面试题29——数组中出现次数超过一半的数字(java实现)
  2. WCF ajax跨域配置
  3. MapReduce基础知识
  4. matlab学习笔记 bsxfun函数
  5. 屏幕分辨率(QQVGA、QVGA、VGA、XGA、WXGA、WUXGA和WSXGA+)
  6. poj 2007 Scrambled Polygon 极角排序
  7. TortoiseGit - Win7使用Gitblit搭建Git服务器教程
  8. android 瀑布流效果(仿蘑菇街)
  9. C#多线程的用法2-线程的生命周期
  10. 201521123069 《Java程序设计》 第7周学习总结
  11. HIVE和HADOOP的一些东西
  12. page1
  13. JEECG&Dubbo Demo
  14. 完整版本的推箱子小游戏,最简单的纯C语言打造
  15. Python【每日一问】07
  16. Windows 下单机最大TCP连接数
  17. 【转】Python学习---Socket通信原理以及三次握手和四次挥手详解
  18. httpclient介绍与使用
  19. Android学习笔记(38):Handler消息传递处理机制
  20. 通过qemu复现路由器漏洞

热门文章

  1. 创业 CEO:如何选择投资人
  2. 24种设计模式--建造者模式【Builder Pattern】
  3. javascript闭包传参和事件的循环绑定
  4. ListView复用和优化详解
  5. php5.4安装ecshopphp5.4问题及解决
  6. g++的常用参数
  7. Jquery的attr属性
  8. Hdu5517 Triple
  9. Matlab绘图系列之高级绘图
  10. python中使用kazoo连接zookeeper(一)