【发布时间】:2011-05-22 18:11:09
【问题描述】:
我已使用 WMI 来检测操作系统上是否存在防病毒软件, 通过使用命名空间:\root\SecurityCenter 和 \root\SecurityCenter,\root\Security,它可以正常工作并在 win xp 和 window7 上向我显示防病毒信息,例如名称和实例 ID。
if(isHLOSVersion( ))
hres = pLoc->ConnectServer( _bstr_t(L"root\\SecurityCenter2"),
// Object path of SecurityCenter
NULL, // User name. NULL = current user
NULL, // User password. NULL = current
0, // Locale. NULL indicates current
NULL, // Security flags.
0, // Authority (e.g. Kerberos)
0, // Context object
&pSvc // pointer to IWbemServices proxy
);
else
hres = pLoc->ConnectServer( _bstr_t(L"root\\SecurityCenter"),
// Object path of SecurityCenter
NULL, // User name. NULL = current user
NULL, // User password. NULL = current
0, // Locale. NULL indicates current
NULL, // Security flags.
0, // Authority (e.g. Kerberos)
0, // Context object
&pSvc // pointer to IWbemServices proxy
);
但在 windows 2003 server 和 2008 server 2003 server R2 和 2008 server R2 的情况下,上述命名空间不存在,所以这在那里不起作用。
请告诉我如何检测是否存在防病毒软件 windows 2003 server 和 2008 server 2003 server R2 和 2008 server R2 操作系统。
【问题讨论】:
-
输入代码示例时请使用代码标签,当前状态下没有人会尝试读取。
标签: c++ wmi wmi-query wmi-service