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

Posted 信息

篇首语:时间,就像海绵里的水,只要愿挤,总是有的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在.NET中轻松获取系统信息(1)-WMI篇相关的知识,希望对你有一定的参考价值。

在.NET中轻松获取系统信息(1)-WMI篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  概述

    

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

    

  主要思路

    

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

    

  正文

    

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

    

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

  Imports System Management

  Dim searcher As New ManagementObjectSearcher( SELECT * FROM Win _share )

  Dim share As ManagementObject

  For Each share In searcher Get()

  MessageBox Show(share GetText(TextFormat Mof))

  Next share

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

  

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

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

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

   代码很简单 通俗易懂

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

  

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

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

  Dim searcher As New ManagementObjectSearcher( SELECT * FROM Win _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

  总结以及补充

    

cha138/Article/program/net/201311/13612

相关参考

知识大全 读写注册表与获取系统信息

VB.net2008实例:读写注册表与获取系统信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 轻松加密ASP.NET 2.0 Web程序配置信息

轻松加密ASP.NET2.0Web程序配置信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一简介

知识大全 asp.net获取服务器基本信息的方法代码

在做网站开发的时候常常需要获取服务器的一些基本信息怎么获取呢请参阅下面的简单介绍 复制代码代码如下:cha138/Article/program/net/201311/14250

知识大全 解析php中获取系统信息的方法

  $root=getenv(DOCUMENT_ROOT);////服务器文档根目录$port=getenv(SERVER_PORT);////服务器端口$file=getenv(SCRIPT_NAM

《会计信息化发展规划(2021—2025年)》提出,在会计信息系统处理环节,规范会计核算系统的业务规则和技术标准,提升相关监管部门获取会计数据生产系统( )的能力。

会计改革与发展十四五规划题目:《会计信息化发展规划(2021—2025年)》提出,在会计信息系统处理环节,规范会计核算系统的业务规则和技术标准,提升相关监管部门获取会计数据生产系统()的能力。A、比对

知识大全 获取java线程中信息的两种方法[1]

   在进行多线程编程中比较重要也是比较困难的一个操作就是如何获取线程中的信息大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中然后再提供一个获取方

知识大全 asp.net获取控制台应用程序路径

  获取当前程序文件的路径也算是一个比较常见的需求比如我有一个文件connxml位于exe的同一目录在运行时需要从中读取一些设置信息  stringstr=ProcessGetCurrentProce

知识大全 用大白菜安装系统提示无法获取分区信息不能继续该怎么办

用大白菜安装系统提示无法获取分区信息不能继续该怎么办在大白菜PE里面有个分区精灵DGFree的啊,用这个给硬盘重新分区好然后再安装系统。分好区后在PE里面看看是不是能正确识别可以正确识别的话安装系统没

知识大全 快速生成源程序 轻松入门.net

  《风越代码生成器[FireCodeCreator]》是一款基于多种数据库的程序代码生成软件可快速建立数据信息的添加编辑查看列表搜索功能默认提供aspaspxWEB程序net普通三层框架web程序n

知识大全 JSP获取客户端的浏览器和操作系统信息

JSP获取客户端的浏览器和操作系统信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  strin