本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客)
因为将要介绍的三个模块都比较简单,故将这三者合并在一起介绍。查询快捷方式信息是使用Win32_ShortcutFile类;查询映射磁盘信息是使用Win32_MappedLogicalDisk类;查询虚拟内存是使用Win32_PageFile、Win32_PageFileSetting和Win32_PageFileUsage类
如何使用WMI枚举电脑上所有快捷方式?
SELECT * FROM Win32_ShortcutFile
查询的信息很多,我不列出。
如何使用WMI查询指定快捷方式所指向的运行文件路径?
SELECT Target FROM Win32_ShortcutFile WHERE Name = 'D:\\\\Tencent\\\\QQ\\\\Bin\\\\QQProtect\\\\Bin\\\\QQProtect.lnk'
其他Win32_ShortcutFile属性,基本就是文件大小、最后修改时间等文件类型的属性。本节不再赘述。
如何使用WMI枚举所有映射的磁盘信息?
SELECT * FROM Win32_MappedLogicalDisk
我在我的电脑上映射了两个磁盘。有多少个映射磁盘,就有多少组数据。
如何使用WMI查询指定的映射磁盘的映射地址?
SELECT ProviderName FROM Win32_MappedLogicalDisk WHERE Name = 'B:'
如何使用WMI查询指定的映射磁盘的大小?
SELECT Size FROM Win32_MappedLogicalDisk WHERE Name = 'B:'
该大小是以Bytes为单位的。
如何使用WMI枚举系统中所有分页文件信息?
SELECT * FROM Win32_PageFile
我这台电脑上只有一个盘有分页文件。
如何使用WMI查询指定磁盘上分页文件路径?
SELECT Name FROM Win32_PageFile WHERE Drive = 'c:'
如何使用WMI查询指定磁盘上分页文件占用的空间?
SELECT FileSize FROM Win32_PageFile WHERE Drive = 'c:'
如何使用WMI查询指定分页文件的初始大小和最大值?
SELECT InitialSize,MaximumSize FROM Win32_PageFileSetting WHERE Name = 'C:\\\\pagefile.sys'
这两个值是以MB为单位的。对应于之前图中的2046和4092。
工程源码见《WMI技术介绍和应用——WMI概述》结尾。