前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WMI技术介绍和应用——查询硬件信息

WMI技术介绍和应用——查询硬件信息

作者头像
方亮
发布2019-01-16 10:54:31
1.8K0
发布2019-01-16 10:54:31
举报
文章被收录于专栏:方亮方亮

        这个月实在太忙了,一直没有时间去继续写WMI的应用例子。 本来是希望将《WMI技术介绍和应用》系列博文写的像WMI百科全书般,但是貌似对这个技术感兴趣的同学并不多,所以我决定对部分知识点点到为止,有需求的同学可以查询MSDN相关类的说明即可。本文将罗列一些可能使用到的一些知识点。如果你发现你期望查询的硬件信息在本文中没有写出来,请参看MSDN的《Computer System Hardware Classes》中相关的类。(转载请指明出于breaksoftware的csdn博客)

查询硬盘信息

        因为一台电脑上可以有多块硬盘,所以在查询硬盘信息之前,我们需要明确我们要查询哪块硬盘。其中我们将要使用到《WMI技术介绍和应用——查询磁盘分区和逻辑磁盘信息》中相关信息。本文我们将以获取系统启动盘所在的硬盘信息为例。首先我们通过

代码语言:javascript
复制
SELECT DiskIndex FROM Win32_DiskPartition WHERE Bootable = TRUE  

        查询得到系统盘所在硬盘的ID = 0。然后我们通过该ID,查询该硬盘信息。 如何使用WMI查询系统盘所在硬盘的硬盘序列号?

代码语言:javascript
复制
SELECT SerialNumber FROM Win32_DiskDrive WHERE Index = 0

        这儿必须要注意下,我这儿设置的Index = 0,是通过之前的查询得知系统盘所在硬盘的ID而定的,即在我的电脑上Index=0的硬盘是启动硬盘。 如何使用WMI查询系统盘所在的硬盘的接口类型?

代码语言:javascript
复制
SELECT InterfaceType FROM Win32_DiskDrive WHERE Index = 0

 如何使用WMI查询系统盘所在的硬盘的名字?

代码语言:javascript
复制
SELECT Caption FROM Win32_DiskDrive WHERE Index = 0

如何使用WMI查询系统盘所在的硬盘的大小?

代码语言:javascript
复制
SELECT Size FROM Win32_DiskDrive WHERE Index = 0

        看这个数字,就是160G硬盘实际的byte数。注意这个是10进制数字,而我们在电脑上看到硬盘的大小为该数字除以(1024*1024*1024)。

查询主板信息

如何使用WMI查询主板的序列号?

代码语言:javascript
复制
SELECT SerialNumber FROM Win32_BaseBoard

        查询BIOS信息

如何使用WMI查询BIOS的序列号?

代码语言:javascript
复制
SELECT SerialNumber FROM Win32_BIOS

如何使用WMI查询BIOS的厂商?

代码语言:javascript
复制
SELECT Manufacturer FROM Win32_BIOS

如何使用WMI查询BIOS的版本号?

代码语言:javascript
复制
SELECT SMBIOSMajorVersion,SMBIOSMinorVersion FROM Win32_BIOS

如何使用WMI查询内存信息?

代码语言:javascript
复制
SELECT * FROM Win32_MemoryDevice

查询显示器信息

如何使用WMI查询显示器的分辨率?

代码语言:javascript
复制
SELECT ScreenHeight FROM Win32_DesktopMonitor

       如何使用WMI查询屏幕刷新频率?

代码语言:javascript
复制
SELECT DisplayFrequency FROM Win32_DisplayConfiguration

查询网络适配器

        如何使用WMI查询处于活动状态的网卡MAC地址?

代码语言:javascript
复制
SELECT MACAddress FROM Win32_NetworkAdapter WHERE NetEnabled = 'TRUE'

        可以见得我这儿有三个处于活动状态的网卡,其对应于

        如果想排除VM虚拟出来的网卡,可以通过厂商名字限制。

查询CPU信息

如何使用WMI查询CPU的序列号?

代码语言:javascript
复制
SELECT ProcessorId FROM Win32_Processor

如何使用WMI查询CPU的名称?

代码语言:javascript
复制
SELECT Name FROM Win32_Processor

如何使用WMI查询有几个物理核心和几个逻辑核心?

代码语言:javascript
复制
SELECT NumberOfCores,NumberOfLogicalProcessors FROM Win32_Processor

        这个数据说明T9400是双核双线程CPU。

如何使用WMI判断当前系统是32位系统还是64位系统?

代码语言:javascript
复制
SELECT AddressWidth FROM Win32_Processor

        这个证明我当前系统是64位系统。

如何使用WMI获取CPU构架?

代码语言:javascript
复制
SELECT Architecture FROM Win32_Processor

        该值表明T9400是x64构架CPU。

Value

Meaning

0 (0x0)

x86

1 (0x1)

MIPS

2 (0x2)

Alpha

3 (0x3)

PowerPC

5 (0x5)

ARM

6 (0x6)

Itanium-based systems

9 (0x9)

x64

如何使用WMI查询CPU的外频?

代码语言:javascript
复制
SELECT ExtClock FROM Win32_Processor

        单位是MHz。即266MHz。

如何使用WMI查询CPU的主频?

代码语言:javascript
复制
SELECT CurrentClockSpeed FROM Win32_Processor

        单位是MHz。即2.534GHz。

        至此,使用WMI查询的内容就讲完了。之后我将讲解如何使用WMI监听事件,这也是个非常强大和有趣的功能,我们拭目以待吧。

        工程源码见《WMI技术介绍和应用——WMI概述》结尾。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年04月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档