Her var et eksempel jeg lige kunne smide sammen som muligvis kan klare det som du vil have. WbemScripting_TLB.pas er genereret ved at bruge Delphi's type library importer på Windows WMI Scripting type library
uses Windows, WbemScripting_TLB, ActiveX, ComObj;
var
Locator:ISWbemLocator;
Services:ISWbemServices;
ResultSet:ISWbemObjectSet;
Enum :IEnumVariant;
Item :OleVariant;
Value:LongWord;
begin
CoInitializeEx(nil, 0);
CoInitializeSecurity(nil, -1, nil, nil, 0, 3, nil, 0, 0);
Locator:=CoSWbemLocator.Create as ISWbemLocator;
Services:=Locator.ConnectServer('.', 'root\SecurityCenter', '', '', '', '', 0, nil);
ResultSet:=Services.ExecQuery('SELECT * FROM AntiSpywareProduct', 'WQL', wbemFlagReturnImmediately or wbemFlagBidirectional,nil);
//ResultSet:=Services.ExecQuery('SELECT * FROM AntiVirusProduct', 'WQL', wbemFlagReturnImmediately or wbemFlagBidirectional,nil);
Enum:=ResultSet._NewEnum as IEnumVariant;
enum.Reset;
while Enum.Next(1,item,value) = S_OK do
writeln(Item.displayName, '. Enabled: ',Item.productEnabled);
end;