2013-07-13 2 views

ответ

2

Вы можете использовать класс WMI AntiVirusProduct, в зависимости от версии окна, которую вы должны подключить к root\SecurityCenter или к пространству имен root\SecurityCenter2.

Более подробно проверить эту статью Getting the installed Antivirus, AntiSpyware and Firewall software using Delphi and the WMI

Примечание: AntiVirusProduct класс WMI поддерживается только для Windows компьютеров изданий (Windows XP, Windows Vista, 7, 8).

Попробуйте этот образец.

function IsAntivirusInstalled: Boolean; 
var 
    FSWbemLocator: Variant; 
    FWMIService : Variant; 
    FWbemObjectSet: Variant; 
    Version: TWindowsVersion; 
begin 
    GetWindowsVersionEx(Version);  
    Result := false; 
    FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator'); 

    if (Version.Major = 5) and (Version.Minor = 1) then //Windows XP 
     FWMIService := FSWbemLocator.ConnectServer('', 'root\SecurityCenter', '', '') 
    else 
    if (Version.Major = 6) then 
     FWMIService := FSWbemLocator.ConnectServer('', 'root\SecurityCenter2', '', '') 
    else 
    exit; 

    FWbemObjectSet := FWMIService.ExecQuery('SELECT displayName FROM AntiVirusProduct'); 
    Result := (FWbemObjectSet.Count > 0); 
    FWbemObjectSet := Unassigned; 
    FWMIService := Unassigned; 
    FSWbemLocator := Unassigned; 
end; 
Смежные вопросы