本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。
我们可以通过系统属性查看当前系统和当前用户的环境变量。(转载请指明出于breaksoftware的csdn博客)
如何使用WMI枚举所有环境变量的信息?
CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT * FROM Win32_Environment" );
recvnotify.ExcuteFun();
如何使用WMI获取所有系统环境变量的值?
SystemVariable属性标识该环境变量是系统变量还是用户环境变量。
CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT VariableValue FROM Win32_Environment WHERE SystemVariable = TRUE" );
recvnotify.ExcuteFun();
如何使用WMI获取指定环境变量的值?
我们以系统环境变量中名字为TEMP的环境变量为例,来获取其对应的值。
CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT VariableValue FROM Win32_Environment WHERE SystemVariable = TRUE AND Name = 'TEMP'" );
recvnotify.ExcuteFun();
更多环境变量信息可参考Win32_Environment。
工程源码见《WMI技术介绍和应用——WMI概述》结尾。