Lista processos abertos

Veja neste artigo como listar todos os processos abertos no seu computador e mostrar os mesmos no ListBox de maneira bem simples.

Olá galera, vamos a esta este artigo, que tem a função de mostra se um determinado aplicativo esta aberto, esta função é bem legal, e pode ser aproveitada para evitar que seu software seja aberto mais de uma vez, vamos a implementação da mesma. Criamos uma aplicação e nela incluímos um TButton e um TListBox.
Vamos agora precisar dar uses em Tlhelp32. Em seguida vamos declarar a procedure.
type TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; Private procedure ListarProcessosAbertos; { Private declarations } public { Public declarations } end; Agora vamos usar o famoso CTRL + SHIF + C, em cima da procedure para poder implementar seu código deverá ficar assim. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Tlhelp32; type TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; private procedure ListarProcessosAbertos; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ListarProcessosAbertos; begin end; end. Agora vamos a implementação da procedure ListarProcessosAbertos. Veja sua implementação. procedure TForm1.ListarProcessosAbertos; const PROCESS_TERMINATE = $0001; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); ListBox1.Clear; while Integer(ContinueLoop) <> 0 do begin ListBox1.Items.Add(FProcessEntry32.szExeFile); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); ListBox1.Sorted := True; //Serve para ordenar a lista dos processos por ordem alfabética end; Agora para testar a mesma precisamos usar o evento onClick do TButton, e implementar o seguinte código. procedure TForm1.Button1Click(Sender: TObject); begin ListarProcessosAbertos; end; Veja o resultado da minha lista de processos abertos.


Observe que o ListBox esta com colunas, isso você pode configurar na propriedade Columns, no meu caso eu coloquei 3 colunas. Você pode adicionar em vários outros componentes só para lembrar, Combobox, CheckListBox, Memo, RichEdit, entre outros.

Fico por aqui e até o próximo artigo

Um abraço
Wesley Y
www.lithic.com.br
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados