econz icon

Delphi - Derrubar Processos

econz | PRO | 12/05/11 04:32:03 PM UTC | 0 ⭐ | 776 👁️ | Never ⏰ | []
Delphi |

1.07 KB

|

None

|

0 👍

/

0 👎

// 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.

Comments