本文使用了《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'
![](https://img-my.csdn.net/uploads/201301/16/1358336771_9003.png)
其他Win32_ShortcutFile属性,基本就是文件大小、最后修改时间等文件类型的属性。本节不再赘述。
如何使用WMI枚举所有映射的磁盘信息?
SELECT * FROM Win32_MappedLogicalDisk
![](https://img-my.csdn.net/uploads/201301/16/1358337399_4461.png)
我在我的电脑上映射了两个磁盘。有多少个映射磁盘,就有多少组数据。
如何使用WMI查询指定的映射磁盘的映射地址?
SELECT ProviderName FROM Win32_MappedLogicalDisk WHERE Name = 'B:'
![](https://img-my.csdn.net/uploads/201301/16/1358337587_9810.png)
如何使用WMI查询指定的映射磁盘的大小?
SELECT Size FROM Win32_MappedLogicalDisk WHERE Name = 'B:'
![](https://img-my.csdn.net/uploads/201301/16/1358337706_2843.png)
该大小是以Bytes为单位的。
如何使用WMI枚举系统中所有分页文件信息?
SELECT * FROM Win32_PageFile
![](https://img-my.csdn.net/uploads/201301/16/1358338841_3067.png)
我这台电脑上只有一个盘有分页文件。
如何使用WMI查询指定磁盘上分页文件路径?
SELECT Name FROM Win32_PageFile WHERE Drive = 'c:'
![](https://img-my.csdn.net/uploads/201301/16/1358339176_1499.png)
如何使用WMI查询指定磁盘上分页文件占用的空间?
SELECT FileSize FROM Win32_PageFile WHERE Drive = 'c:'
![](https://img-my.csdn.net/uploads/201301/16/1358339349_4084.png)
![](https://img-my.csdn.net/uploads/201301/16/1358339398_8175.png)
如何使用WMI查询指定分页文件的初始大小和最大值?
SELECT InitialSize,MaximumSize FROM Win32_PageFileSetting WHERE Name = 'C:\\\\pagefile.sys'
![](https://img-my.csdn.net/uploads/201301/16/1358339659_4924.png)
这两个值是以MB为单位的。对应于之前图中的2046和4092。
工程源码见《WMI技术介绍和应用——WMI概述》结尾。