Delphi – Mostrar procesos del sistema

Hace unos meses compartí en la zona de descargas del foro un programita que muestra  al usuario los procesos que están siendo ejecutados en ese momento en el sistema. Como un plus agregué la opción de terminar el proceso. Esto claro solo si es un proceso que corre bajo el contexto de su sesión, pues todos aquellos procesos que corren bajo el contexto del sistema no pueden ser cerrados.

Para crear esta pequeña utilidad iniciaremos un nuevo proyecto en Delphi del tipo Vcl Forms applicaction y colocaremos en el formulario principal un componente TList que será usado para mostrar la lista de procesos en ejecución y además colocaremos un botón con la leyenda “Mostrar Procesos”

Editaremos el evento OnDblClick del botón “Mostrar procesos” y colocaremos el siguiente código:

procedure TfrmPrincipal.Button1Click(Sender: TObject);
var
  ContinueLoop:BOOL;
  Item: String;
  I : Integer;
begin
   frmPrincipal.FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
   frmPrincipal.FProcessEntry32.dwSize:=Sizeof(frmPrincipal.FProcessEntry32);
   ContinueLoop := Process32First(frmPrincipal.FSnapshotHandle,frmPrincipal.FProcessEntry32);
   while integer(ContinueLoop)<>0 do
     begin
        Item := Format('%s', [frmPrincipal.FProcessEntry32.szExeFile]);
        Lista.Items.Add(Item);
        ContinueLoop := Process32Next(frmPrincipal.FSnapshotHandle,frmPrincipal.FProcessEntry32);
     end;
   CloseHandle(frmPrincipal.FSnapshotHandle);
end;

Ejecutamos nuestro programa y podremos listar los procesos en ejecución presionando el botón:

delphi-procesos

 

 

Sé el primero en comentar

Deja un comentario