成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# WMI封裝學習筆記

開發 后端
這里介紹我們利用.Net框架System.Management 命名空間所提供的C# WMI封裝非常簡單的實現了獲取邏輯驅動器的詳細信息,除了上述信息我們還可以輕松的獲取Windows資源大部分信息。

C# WMI封裝

在編寫某些Windows管理應用程序時,能夠從自定義的驅動器選擇列表框中進行選擇無疑是非常專業的,使用Delphi或者C++的早期版本時我們都必須使用Win32所提供的許多關于獲取磁盤信息的API函數來分別獲取像卷標、序列號以及剩余空間等信息,現在我們將使用.Net框架和WMI(Windows Management Instrumentation - Windows 管理規范 )來實現上述功能。

若僅簡單獲取邏輯驅動器的名稱列表我們使用.Net框架的Environment.GetLogicalDrives即可,但是若想獲得更多關于磁盤驅動器的信息我們可以使用.Net框架下的System.Management 命名空間所提供的類和委托等對大量管理信息和管理事件的集合進行訪問,這些信息和事件都與 WMI有關,該命名空間下的類實際上也是對WMI的一種封裝,應用程序和服務可以使用從 ManagementObjectSearcher 和 ManagementQuery 派生的類,查詢感興趣的管理信息,例如在磁盤上還剩多少可用空間、當前 CPU 利用率是多少、某一應用程序正連接到哪一數據庫等等,現在我們就以 C# 語言編寫獲取詳細的邏輯驅動器信息的示例來展示.Net框架System.Management 命名空間的相關類和WMI編程。

WMI最初是內置在 Windows 2000、Windows XP 和 Windows Server 2003 系列操作系統中核心的管理支持技術,目前WMI 已經是一種規范和基礎結構,通過它可以訪問、配置、管理和監視幾乎所有的 Windows 資源例如磁盤、事件日志、文件、文件夾、文件系統、網絡組件、操作系統設置、性能數據、打印機、進程、注冊表設置、安全性、服務、共享、用戶、組等等。在 WMI 之前,能夠以編程方式訪問 Windows 資源的惟一方法就是通過 Win32 API,現在我們除了使用WMI 腳本管理任何通過 WMI 公開的 Windows 資源外,還可以通過.Net框架對于C# WMI封裝的System.Management 命名空間來輕松實現。

WQL查詢語言是 SQL 的一個子集,查詢通過包含以下內容限制返回的數據量1、SELECT 子句,指定只返回某些屬性的數據;2、WHERE 子句,指定要返回的實例。Win32_LogicalDisk類在默認的本地MSDN里是無法找到的,只有在聯機的MSDN里,Win32 and COM Development下的WMI下才能找到,同樣可以使用的類還有很多很多,包含登錄用戶信息的Win32_Account類、包含本地和共享打印機信息的Win32_PrinterShare類等等。Win32_LogicalDisk里所包含的驅動器屬性相當豐富。

然后使用該指定的SelectQuery查詢創建ManagementObjectSearcher實例,此類是用于檢索管理信息的較為常用的入口點之一,實例創建結束,我們需要調用Get方法執行查詢以便檢索管理對象的集合,當調用該方法時,ManagementObjectSearcher 在指定的范圍內執行給定的查詢,并返回與 ManagementObjectCollection 中的查詢匹配的管理對象的集合,這是就可以在一個循環中遍歷集合中的所有對象,并獲取我們所感興趣的對象的屬性。

  1. SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");  
  2. ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);  
  3.  
  4. int i=0;  
  5. foreach (ManagementObject disk in searcher.Get()) {  
  6. //獲取驅動器盤符  
  7. listView1.Items.Add(disk["Name"].ToString());  

我們利用.Net框架System.Management 命名空間所提供的C# WMI封裝非常簡單的實現了獲取邏輯驅動器的詳細信息,除了上述信息我們還可以輕松的獲取Windows資源大部分信息,比起使用Win32API要更加簡單和有效。該示例程序在Windows XP SP2 + Visual Studio 2005 下編譯和調試通過。

【編輯推薦】

  1. C#字符串操作步驟
  2. C#集成開發環境淺析
  3. Visual C# .NET應用程序
  4. C# TimeLabel控件詳解
  5. C#復合控件開發技術
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-12 09:28:36

C# WiteOne

2009-08-13 18:21:52

C#學習筆記

2009-08-20 15:02:57

C# If語句

2009-08-12 15:50:40

C# ListBox

2009-08-28 15:32:39

C#利用WMI獲取數據

2009-08-24 15:46:46

C# SmartPho

2009-08-26 10:48:44

C# SQL命令

2009-08-31 15:27:33

C# TreeView

2009-08-21 17:53:28

C#查詢結果

2009-08-25 15:26:03

C#調用ImOK

2009-08-12 10:46:54

C#命名空間

2009-08-14 15:54:12

C#編程語言

2009-09-01 11:28:32

C#使用函數重載

2009-08-19 15:59:24

C#參數類型

2009-08-14 17:38:08

C#改寫方法

2009-08-13 11:10:32

C#基礎概念

2009-08-27 16:53:01

C#委托C#事件

2009-08-13 10:47:29

C#創建驗證碼

2009-09-04 10:49:19

C#隱式轉換

2009-08-26 16:17:23

C# Lambda表達
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人久久久 | 久久99视频这里只有精品 | 成人激情免费视频 | 欧美精品综合在线 | 亚洲午夜精品视频 | 亚洲v日韩v综合v精品v | 国产农村妇女毛片精品久久麻豆 | 国产激情视频在线免费观看 | 日韩电影免费在线观看中文字幕 | 亚洲高清免费视频 | 9191av| 91伦理片 | 国产偷自视频区视频 | 亚洲综合首页 | 欧美成人h版在线观看 | 99精品久久| 黑人精品欧美一区二区蜜桃 | 97精品国产 | 精品福利在线 | 久久国产综合 | 日韩中文字幕一区二区 | 天天干天天插天天 | 免费看91| 精品日韩 | 日本成人福利视频 | 欧美一级做性受免费大片免费 | 欧美日韩高清一区 | 亚洲国产精品一区二区第一页 | 久久精品亚洲精品国产欧美 | 成人在线视频一区 | 少妇精品久久久久久久久久 | 国产一区二区三区 | 久久最新| 亚洲欧美日韩国产综合 | 黑人一级黄色大片 | 国产日韩一区 | 丁香一区二区 | 免费av观看| 亚洲综合二区 | 精品久久久一区 | 91免费在线 |