您的位置:首页 > 其它

WMI技术介绍和应用——查询系统信息和补丁包信息

2013-02-28 17:07 579 查看
作者:/article/1826065.html


本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客

本文主要知识点是Win32_OperatingSystemWin32_QuickFixEngineering类。通过该类我们将可以获取部分系统设置。

如何使用WMI获取系统UUID?

[cpp] view
plaincopy

SELECT UUID FROM Win32_ComputerSystemProduct



该值可能为空。如果该值存在,其保存在HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PIcon\AMTData\System UUID下。

如何使用WMI获取Windows操作系统启动硬盘设备名?

[cpp] view
plaincopy

SELECT BootDevice FROM Win32_OperatingSystem



如何使用WMI获取系统Build版本号?

[cpp] view
plaincopy

SELECT BuildNumber FROM Win32_OperatingSystem



如何使用WMI获取系统Build版本类型?

[cpp] view
plaincopy

SELECT BuildType FROM Win32_OperatingSystem



基于NT版本的操作系统又两种Build版本类型。一种是Checked,一种是Free(或者retail)。一般来说,Free版本就是零售版本,其二进制执行文件是经过了编译器优化的。而Checked版本,则是为了方便调试,将很多编译器优化禁用了,还增加了很多的调试检测代码。所以一般来说,Free版本的文件大小要比Checked版本文件大小要小。更详细的资料请参略http://msdn.microsoft.com/en-us/library/ff543450.aspx。

如何使用WMI获取系统名?

[cpp] view
plaincopy

SELECT Caption FROM Win32_OperatingSystem



如何使用WMI获取系统的Code Page?

[cpp] view
plaincopy

SELECT CodeSet FROM Win32_OperatingSystem



936即对应于Simplified Chinese GBK。

如何使用WMI获取地区代码?

[cpp] view
plaincopy

SELECT CountryCode FROM Win32_OperatingSystem



86即对应于中国大陆。台湾地区是886,香港是852,澳门是853。

如何使用WMI获取系统的补丁包版本号?

[cpp] view
plaincopy

SELECT CSDVersion FROM Win32_OperatingSystem



如何使用WMI获取系统的空闲的物理内存?

[cpp] view
plaincopy

SELECT FreePhysicalMemory FROM Win32_OperatingSystem



该单位是以Kb为单位的。它标识了当前系统有多少尚未使用且可用的内存。

如何使用WMI获取页文件空闲空间大小?

[cpp] view
plaincopy

SELECT FreeSpaceInPagingFiles FROM Win32_OperatingSystem



该数值也是以Kb为单位的。

如何使用WMI获取空闲的虚拟内存大小?

[cpp] view
plaincopy

SELECT FreeVirtualMemory FROM Win32_OperatingSystem



该数值也是以Kb为单位的。

如何使用WMI获取系统最后一次启动时间?

[cpp] view
plaincopy

SELECT LastBootUpTime FROM Win32_OperatingSystem



这表示我最近一次系统启动时间是2013年2月4号9时6分22秒。

如何使用WMI获取系统中正在运行的进程数量?

[cpp] view
plaincopy

SELECT NumberOfProcesses FROM Win32_OperatingSystem



如何使用WMI获取系统注册用户的公司名?

[cpp] view
plaincopy

SELECT Organization FROM Win32_OperatingSystem



如何使用WMI获取系统语言包种类?

[cpp] view
plaincopy

SELECT OSLanguage FROM Win32_OperatingSystem



其对应的是Chinese (Simplified) – PRC

如何使用WMI判断系统是否从外置USB设备启动的?

[cpp] view
plaincopy

SELECT PortableOperatingSystem FROM Win32_OperatingSystem

为True则代表是从USB设备中启动的。

如何使用WMI判断当前系统是否是主系统?

[cpp] view
plaincopy

SELECT Primary FROM Win32_OperatingSystem



如何使用WMI判断系统类型?

[cpp] view
plaincopy

SELECT ProductType FROM Win32_OperatingSystem



它的值的释义是

Value
Meaning
1
Work Station
2
Domain Controller
3
Server
如何使用WMI获取系统的注册用户名?

[cpp] view
plaincopy

SELECT RegisteredUser FROM Win32_OperatingSystem



如何使用WMI获取系统序列号?

[cpp] view
plaincopy

SELECT SerialNumber FROM Win32_OperatingSystem



如何使用WMI获取系统安装在那个设别上?

[cpp] view
plaincopy

SELECT SystemDevice FROM Win32_OperatingSystem



如何使用WMI获取系统盘盘符?

[cpp] view
plaincopy

SELECT SystemDrive FROM Win32_OperatingSystem



如何使用WMI查询系统可以见内存大小?

[cpp] view
plaincopy

SELECT TotalVisibleMemorySize FROM Win32_OperatingSystem



该单位是以Kb为单位的。

如何使用WMI枚举已经安装的补丁信息?

[cpp] view
plaincopy

SELECT * FROM Win32_QuickFixEngineering



以上信息是来源于

[plain] view
plaincopy

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Hotfix

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: