我使用WMI来检测操作系统上是否存在防病毒软件,它可以在Win XP和Win7上正常工作,并显示有关防病毒软件的信息,如名称和实例ID,使用的命名空间为:\root\SecurityCenter和\root\SecurityCenter2,\root\Security。
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 操作系统中是否存在防病毒软件。