我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > net专区 > 在.NET中轻松获取系统信息(1)-WMI篇
热门文章排行
热门文章排行 检查email地址格式的代码(01-11)
PHP操作文件问答(01-11)
PHP安装攻略:安装并配置PHP(10-23)
PHP的十个高级技巧 4(10-23)
关于APE的介绍、播放及制作(03-22)
精采文章排行
精采文章排行 ASP.NET与MySQL数据库简明图示入门教(11-16)
ASP.NET与MySQL数据库简明图示入门教(11-16)
ASP.NET 链接数据库基础(11-16)
webconfig的设置节点说明(11-16)
部署ASP.NET的三大技术(上)(11-16)
技术专题推荐
网管论坛交流
 

在.NET中轻松获取系统信息(1)-WMI篇 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-12-22

概述:


 


不知道大家有没有这种体会?有时候为了获取系统一点点信息,比如考虑一下操作系统的版本号,或者当前屏幕的分辨率。其实说到底就是读操作系统某个方面的一个属性值而已,然后就看到我们的程序中密密麻麻的Win32 API申明,调用,代码的可读性和维护性不言而喻。到了.NET,微软提供了更为丰富的类,有很多以前要调用API的方法可以在.NET中轻而易举的调用实现。今天简单介绍一个在.NET中如何通过与WMIWindows 管理规范)的通讯,从而得到获取信息的目的。


 


主要思路:


 


举一个获取操作系统共享目录和获取主板号的例子,介绍如何利用System.Managment下面的类获取系统相关的信息:


 


正文:


 


WMIWindows管理规范:Windows Management Instrumentation)是Microsoft基于Web的企业管理(WBEM)的实现,同时也是一种基于标准的系统管理接口。WMI最早出现在Microsoft Windows 2000系统上,但它同样可以安装在Windows NT 4Windows 9x计算机上。WMI是一种轻松获取系统信息的强大工具。


 


.NET中,有一个System.Management名空间(系统默认没有引用,我们可以手动添加引用),通过下面的Class的操作,可以查询系统软硬件的信息,先看一个简单的例子: 








Imports System.Management


Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_share")


Dim share As ManagementObject


 For Each share In searcher.Get()


       MessageBox.Show(share.GetText(TextFormat.Mof))


 Next share


运行的结果是列出了所有系统当前共享的目录、以及描述等等。


 


分析一下上面的代码,可以看到一下几点:


1、似乎是在进行数据库操作,有点像SQL语句。其实就是SQL操作,这种语句被成WQL(WMI Query Language),实际上是标准SQL的一个子集加上了WMI的扩展.


2WQL是个只读的查询语言,我们只能查询响应的数据,不能用UPDATE,INSERT等更新操作


3、代码很简单、通俗易懂


4、我们采用了一种MOF(托管对象格式)的显示。


 


例子二:获取当前主板的信息


上面的例子是一个软件方面的信息,下面看一个获取硬件信息的例子,获取主板的序列号以及制造商:







Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard")


Dim share As ManagementObject


   For Each share In searcher.Get()


      Debug.WriteLine("主板制造商:" & share("Manufacturer"))


      Debug.WriteLine("型号:" & share("Product"))


      Debug.WriteLine("序列号:" & share("SerialNumber"))


   Next share



总结以及补充:


 


WMI类也是分层次的,具体可以参考msdn中的WMI;转向.NET平台开发的时候,最好能多看一些关于.NET新特性的介绍,这样可以大幅度的提升代码的开发效率以及运行效率。







文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·给你的FileSystemObject对象加把锁 ·在 Web 页上使用条件数值格式
·连接数据库查询手册(不仅仅适用于asp) ·警惕"给你的FileSystemObject对象加把锁"
·用ASP做全文检索 ·如何把ASP编写成DLL

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。