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:
- VCL Developer – Process Info
- Como usar Process Info – Em Inglês
- Download Process Info (Fontes + Exemplos)

1 Comments
[...] 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 [...]