WMI技术介绍和应用——查询磁盘分区和逻辑磁盘信息
? ? ? ??本文使用了《WMI技術介紹和應用——使用VC編寫一個半同步查詢WMI服務的類》中代碼做為基礎。本節只是列出了WQL語句,具體使用參看前面的例子。(轉載請指明出于breaksoftware的csdn博客)
? ? ? ? 本節主要介紹Win32_DiskPartition和Win32_LogicalDisk兩個類的應用。Win32_DiskPartition用于查詢磁盤分區信息,Win32_LogicalDisk用于查詢邏輯磁盤信息。
? ? ? ? 如何使用WMI枚舉所有磁盤分區信息?
SELECT * FROM Win32_DiskPartition
?
? ? ? ? 以上是我查詢我本機的信息。在我這臺電腦上,裝有兩塊硬盤,其中第二塊安裝上去的硬盤是500G,它的信息由上圖第一組數據體現。第一款硬盤是160G,被分成60G的系統盤和90G的普通盤。其中系統盤信息由上圖中第二組數據體現,而90G的邏輯盤由上圖中最后一組數據體現。現在我們將拆開這些信息,講解如何利用這些信息。
? ? ? ? 如何使用WMI獲取系統啟動盤所在的硬盤ID(非序列號)?
SELECT DiskIndex FROM Win32_DiskPartition WHERE Bootable = TRUE
? ? ? ? 在裝有多塊硬盤的機器上,這個功能很重要。比如我們想嘗試獲取一個硬盤序列號,來作為計算用戶唯一碼的因子,此時獲取一個固定的硬盤ID就很重要了。因為插拔硬盤的原因,WMI枚舉到的第一個硬盤信息是不確定的。
? ? ? ? 如何使用WMI查詢指定磁盤上有多少分區?
SELECT Index FROM Win32_DiskPartition WHERE DiskIndex = 0
? ? ? ? 這標志該磁盤有兩個分區。
? ? ? ? 如何使用WMI獲取指定分區的大小?
SELECT Size FROM Win32_DiskPartition WHERE DiskIndex = 1 AND Index = 0
? ? ? ? 該大小是以BYTES為單位的。
? ? ? ? 如何使用WMI獲取指定分區上有多少塊(BLOCK)及每塊的大小?
SELECT BlockSize,NumberOfBlocks FROM Win32_DiskPartition WHERE DiskIndex = 1 AND Index = 0
? ? ? ? 這兩個數值的積就是該磁盤的Size大小。
? ? ? ? 如何使用WMI枚舉所有邏輯磁盤信息?
SELECT * FROM Win32_LogicalDisk
? ? ? ? 目前我電腦上有如下邏輯磁盤
? ? ? ? 其中A盤,是一個網絡映射磁盤。它的信息是
? ? ? ? C、D盤是在一塊硬盤上,它們的信息是
? ? ? ? E盤是在另一個獨立的硬盤上,它的信息是
? ? ? ? 其他磁盤的信息是:
? ? ? ? 如何使用WMI查詢指定盤符的邏輯磁盤名?
SELECT VolumeName FROM Win32_LogicalDisk WHERE NAME = 'C:'
? ? ? ? 如何使用WMI查詢指定盤符的邏輯磁盤類型?
SELECT DriveType FROM Win32_LogicalDisk WHERE NAME = 'C:'
? ? ? ? 一般來說,邏輯磁盤可以分為:網絡映射磁盤、本地磁盤和移動磁盤。如我電腦上A盤的類型就是4,CDE盤的類型是3,FI盤(光驅)的類型是5。有個特例,我電腦上的金山快盤是標記為2(移動磁盤類型)。它們具體的對應關系是
| Value | Meaning |
|---|---|
| 0 | Unknown |
| 1 | No Root Directory |
| 2 | Removable Disk |
| 3 | Local Disk |
| 4 | Network Drive |
| 5 | Compact Disc |
| 6 | RAM Disk |
? ? ? ? 如何使用WMI查詢指定盤符的分區空間和剩余空間?
SELECT Size,FreeSpace FROM Win32_LogicalDisk WHERE NAME = 'C:'
? ? ? ? 如何使用WMI查詢指定盤符的分區的文件系統類型?
SELECT FileSystem FROM Win32_LogicalDisk WHERE NAME = 'C:'
? ? ? ? 如何使用WMI查詢指定盤符的分區的序列號(非硬盤序列號)?
SELECT VolumeSerialNumber FROM Win32_LogicalDisk WHERE NAME = 'C:'
? ? ? ??工程源碼見《WMI技術介紹和應用——WMI概述》結尾。
總結
以上是生活随笔為你收集整理的WMI技术介绍和应用——查询磁盘分区和逻辑磁盘信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WMI技术介绍和应用——查询文件夹信息
- 下一篇: 如何定制一款12306抢票浏览器——构架