Advertisement
econz

Delphi - Derrubar Processos

Dec 5th, 2011
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.07 KB | None | 0 0
  1. // Aplicação console no Delphi para Derrubar um ou n processos
  2. // para finalizar mais de um processo, pode-se usar também o comando like no select
  3. // SELECT * FROM Win32_Process Where Name like "note%" (todos os processos que iniciam com note)
  4.  
  5. program Project1;
  6.  
  7. {$APPTYPE CONSOLE}
  8.  
  9. uses
  10.   SysUtils,
  11.   ComObj,
  12.   ActiveX,
  13.   StdVcl,
  14.   Variants,
  15.   Dialogs;
  16.  
  17. const
  18.   wbemFlagForwardOnly = $00000020;
  19. var
  20.   FSWbemLocator : OLEVariant;
  21.   FWMIService   : OLEVariant;
  22.   FWbemObjectSet: OLEVariant;
  23.   FWbemObject   : OLEVariant;
  24.   oEnum         : IEnumvariant;
  25.   iValue        : LongWord;
  26.  
  27. begin
  28.   FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  29.   FWMIService   := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
  30.   FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_Process Where Name="notepad.exe"','WQL',wbemFlagForwardOnly);
  31.   oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  32.   while oEnum.Next(1, FWbemObject, iValue) = 0 do
  33.   begin
  34.     FWbemObject.Terminate();
  35.     FWbemObject:=Unassigned;
  36.   end;
  37. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement