WMI技术介绍和应用——查询硬件信息
? ? ? ? 這個月實在太忙了,一直沒有時間去繼續(xù)寫WMI的應(yīng)用例子。 本來是希望將《WMI技術(shù)介紹和應(yīng)用》系列博文寫的像WMI百科全書般,但是貌似對這個技術(shù)感興趣的同學(xué)并不多,所以我決定對部分知識點點到為止,有需求的同學(xué)可以查詢MSDN相關(guān)類的說明即可。本文將羅列一些可能使用到的一些知識點。如果你發(fā)現(xiàn)你期望查詢的硬件信息在本文中沒有寫出來,請參看MSDN的《Computer System Hardware Classes》中相關(guān)的類。(轉(zhuǎn)載請指明出于breaksoftware的csdn博客)
? ? ? ? 查詢硬盤信息
? ? ? ? 因為一臺電腦上可以有多塊硬盤,所以在查詢硬盤信息之前,我們需要明確我們要查詢哪塊硬盤。其中我們將要使用到《WMI技術(shù)介紹和應(yīng)用——查詢磁盤分區(qū)和邏輯磁盤信息》中相關(guān)信息。本文我們將以獲取系統(tǒng)啟動盤所在的硬盤信息為例。首先我們通過
SELECT DiskIndex FROM Win32_DiskPartition WHERE Bootable = TRUE
? ? ? ? 如何使用WMI查詢系統(tǒng)盤所在硬盤的硬盤序列號?
SELECT SerialNumber FROM Win32_DiskDrive WHERE Index = 0
? ? ? ? 如何使用WMI查詢系統(tǒng)盤所在的硬盤的接口類型?
SELECT InterfaceType FROM Win32_DiskDrive WHERE Index = 0
? ? ? ? ?如何使用WMI查詢系統(tǒng)盤所在的硬盤的名字?
SELECT Caption FROM Win32_DiskDrive WHERE Index = 0
? ? ? ? ? 如何使用WMI查詢系統(tǒng)盤所在的硬盤的大小?
SELECT Size FROM Win32_DiskDrive WHERE Index = 0
? ? ? ? 看這個數(shù)字,就是160G硬盤實際的byte數(shù)。注意這個是10進(jìn)制數(shù)字,而我們在電腦上看到硬盤的大小為該數(shù)字除以(1024*1024*1024)。
? ? ? ? 查詢主板信息
? ? ? ? 如何使用WMI查詢主板的序列號?
SELECT SerialNumber FROM Win32_BaseBoard
? ? ? ? 查詢BIOS信息
? ? ? ? 如何使用WMI查詢BIOS的序列號?
SELECT SerialNumber FROM Win32_BIOS
? ? ? ? 如何使用WMI查詢BIOS的廠商?
SELECT Manufacturer FROM Win32_BIOS
? ? ? ? 如何使用WMI查詢BIOS的版本號?
SELECT SMBIOSMajorVersion,SMBIOSMinorVersion FROM Win32_BIOS
? ? ? ? 如何使用WMI查詢內(nèi)存信息?
SELECT * FROM Win32_MemoryDevice
? ? ? ? 查詢顯示器信息
? ? ? ? 如何使用WMI查詢顯示器的分辨率?
SELECT ScreenHeight FROM Win32_DesktopMonitor
? ? ? ?如何使用WMI查詢屏幕刷新頻率?
SELECT DisplayFrequency FROM Win32_DisplayConfiguration
? ? ? ? 查詢網(wǎng)絡(luò)適配器
? ? ? ??如何使用WMI查詢處于活動狀態(tài)的網(wǎng)卡MAC地址?
SELECT MACAddress FROM Win32_NetworkAdapter WHERE NetEnabled = 'TRUE'
? ? ? ? 可以見得我這兒有三個處于活動狀態(tài)的網(wǎng)卡,其對應(yīng)于
? ? ? ? 如果想排除VM虛擬出來的網(wǎng)卡,可以通過廠商名字限制。
? ? ? ? 查詢CPU信息
? ? ? ? 如何使用WMI查詢CPU的序列號?
SELECT ProcessorId FROM Win32_Processor
? ? ? ? 如何使用WMI查詢CPU的名稱?
SELECT Name FROM Win32_Processor
? ? ? ? 如何使用WMI查詢有幾個物理核心和幾個邏輯核心?
SELECT NumberOfCores,NumberOfLogicalProcessors FROM Win32_Processor
? ? ? ? 這個數(shù)據(jù)說明T9400是雙核雙線程CPU。
? ? ? ? 如何使用WMI判斷當(dāng)前系統(tǒng)是32位系統(tǒng)還是64位系統(tǒng)?
SELECT AddressWidth FROM Win32_Processor
? ? ? ? 這個證明我當(dāng)前系統(tǒng)是64位系統(tǒng)。
? ? ? ? 如何使用WMI獲取CPU構(gòu)架?
SELECT Architecture FROM Win32_Processor
? ? ? ? 該值表明T9400是x64構(gòu)架CPU。
| Value | Meaning |
|---|---|
| x86 |
| MIPS |
| Alpha |
| PowerPC |
| ARM |
| Itanium-based systems |
| x64 |
SELECT ExtClock FROM Win32_Processor
? ? ? ? 單位是MHz。即266MHz。
? ? ? ? 如何使用WMI查詢CPU的主頻?
SELECT CurrentClockSpeed FROM Win32_Processor
? ? ? ? 單位是MHz。即2.534GHz。
? ? ? ? 至此,使用WMI查詢的內(nèi)容就講完了。之后我將講解如何使用WMI監(jiān)聽事件,這也是個非常強大和有趣的功能,我們拭目以待吧。
? ? ? ? 工程源碼見《WMI技術(shù)介紹和應(yīng)用——WMI概述》結(jié)尾。
總結(jié)
以上是生活随笔為你收集整理的WMI技术介绍和应用——查询硬件信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用程序解决一道逻辑推理题
- 下一篇: 发现一个windows7(32bit或6