// Aplicação console no Delphi para Derrubar um ou n processos // para finalizar mais de um processo, pode-se usar também o comando like no select // SELECT * FROM Win32_Process Where Name like "note%" (todos os processos que iniciam com note) program Project1; {$APPTYPE CONSOLE} uses SysUtils, ComObj, ActiveX, StdVcl, Variants, Dialogs; const wbemFlagForwardOnly = $00000020; var FSWbemLocator : OLEVariant; FWMIService : OLEVariant; FWbemObjectSet: OLEVariant; FWbemObject : OLEVariant; oEnum : IEnumvariant; iValue : LongWord; begin FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator'); FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', ''); FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_Process Where Name="notepad.exe"','WQL',wbemFlagForwardOnly); oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant; while oEnum.Next(1, FWbemObject, iValue) = 0 do begin FWbemObject.Terminate(); FWbemObject:=Unassigned; end; end.