国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

在.NET中輕松獲取系統信息(1) -WMI篇 Montaque(原作)

2024-07-10 13:08:07
字體:
來源:轉載
供稿:網友
在.net中輕松獲取系統信息(1) -wmi篇    montaque(原作)  
  
關鍵字     wmi,wql,managementobjectsearcher
  


在.net中輕松獲取系統信息(1) -wmi篇

montaque

申明:

    1、個人的一點心得,僅供參考
    2、轉載時候,請保留原本。




概述:

       不知道大家有沒有這種體會?有時候為了獲取系統一點點信息,比如考慮一下操作系統的版本號,或者當前屏幕的分辨率。其實說到底就是讀操作系統某個方面的一個屬性值而已,然后就看到我們的程序中密密麻麻的win32 api申明,調用,代碼的可讀性和維護性不言而喻。到了.net,微軟提供了更為豐富的類,有很多以前要調用api的方法可以在.net中輕而易舉的調用實現。今天簡單介紹一個在.net中如何通過與wmi(windows 管理規范)的通訊,從而得到獲取信息的目的。

主要思路:

       舉一個獲取操作系統共享目錄和獲取主板號的例子,介紹如何利用system.managment下面的類獲取系統相關的信息:



正文:

       wmi(windows管理規范:windows management instrumentation)是microsoft基于web的企業管理(wbem)的實現,同時也是一種基于標準的系統管理接口。wmi最早出現在microsoft windows 2000系統上,但它同樣可以安裝在windows nt 4和windows 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的擴展.

2、wql是個只讀的查詢語言,我們只能查詢響應的數據,不能用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新特性的介紹,這樣可以大幅度的提升代碼的開發效率以及運行效率。<




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贡嘎县| 修水县| 明溪县| 衡南县| 扎鲁特旗| 龙川县| 柞水县| 北流市| 隆化县| 长垣县| 枣阳市| 富川| 金华市| 南召县| 肇源县| 建阳市| 通化市| 望都县| 安西县| 萨迦县| 扶沟县| 陈巴尔虎旗| 肃宁县| 蒲城县| 临朐县| 呼图壁县| 南皮县| 新余市| 金堂县| 东乡族自治县| 南和县| 儋州市| 汽车| 灯塔市| 雷山县| 华容县| 志丹县| 驻马店市| 临漳县| 日喀则市| 邵东县|