Process Info Components

 

Hoje encontrei 2 componentes gratuitos bem interessantes:

  • TProcessInfo
  • TAppInfo

TProcessInfo disponibiliza uma lista de processos que estão rodando. Esta lista é uma coleção de objetos TProcessItem. Cada instância de TProcessItem disponibiliza informações e ações para o processo correspondente.

TAppInfo disponibiliza uma lista de programas rodando, similar a aba Aplicativos do Gerenciador de Tarefas do Windows. Esta lista é uma coleção de TWindowItem. Cada instância  disponibiliza informações sobre a janela correspondente.

Ambos os componentes podem atualizar suas listas automaticamente através da propriedade Interval .

Exemplos:
Como localizar um processo pelo nome:

var
  Process : TProcessItem;
begin
  Process := ProcessInfo1.RunningProcesses.FindByName('Project3.exe');
  if not Assigned(Process) then
    ShowMessage('No process found');
end;

Localizar processos que consomem mais memória que outros:

var
  I: Integer;
  MemSize,
  MaxMemSize : Cardinal;
  ProcessName : string;
begin
  MaxMemSize := 0;
  for I := 0 to ProcessInfo1.RunningProcesses.Count - 1 do
  begin
    MemSize := ProcessInfo1.RunningProcesses[i].MemoryInfo.WorkingSetSize;
    if MemSize > MaxMemSize then
    begin
      MaxMemSize := MemSize;
      ProcessName := ProcessInfo1.RunningProcesses[i].ExeFile;
    end;
  end;
  ShowMessage(ProcessName + ‘uses more memory than other processes.’);
end;

Finalizar um processo:

 var
  Process : TProcessItem;
begin
  Process := ProcessInfo1.RunningProcesses.FindByName('notepad.exe');
  if Assigned(Process) then
    Process.TerminateProcess;
end;

Links:

 
 
 

1 Comments

 
  1. lanusse disse:

    [...] Tiburon more about DataSnap. Tiburon Building strings with TStringBuilder. by Steve Shaughnessy …Process Info Components | Cesar RomeroHoje encontrei 2 componentes gratuitos bem interessantes: TProcessInfo TAppInfo TProcessInfo [...]

 

Leave a Comment

 

You must be logged in to post a comment.