Bom amigos, primeiramente vamos criar uma nova aplicação. No
form1 vamos inserir um componente listview, em
seguida vamos clicar em cima da listview1 com o botão
direito do mouse e deveremos selecionar o Columns Editor.
Agora vamos adicionar 5 colunas. Veja no exemplo abaixo:
Editing ListView1.Columns
0 - PID
1 - Term
2 - Status
3 - Tempo
4 - Linha
O tamanho das colunas devem ficar dessa forma na caixa de
propriedades:
PID Width: 50
Term Width: 50
Status Width: 50
Tempo Width: 50
Linha de Comando Width: 500
Agora vamos criar um botão com caption chamado "Processos". Vamos
à programação: clique duas vezes sobre o botão.
Vamos declarar na diretiva uses o libc, se essa não
for declarada, sua aplicação não poderá extrair dados do sistema.
Veja o código abaixo:
interface
uses
SysUtils, Types, Classes, QGraphics, QControls, QForms, QDialogs, QStdCtrls, QComCtrls, Libc;
Agora vamos voltar para a procedure do botão:
procedure TForm1.Button1Click(Sender: TObject);
var
Processos : PIOFile;
Linha : Array[0..254] of Char;
LinhaStr : String;
PosAtu : Integer;
begin
// limpa a Listview
ListView1.Items.Clear;
// habilita o pipe para leitura para iniciar a listagem de processos
Processos := popen('ps axh', 'r');
// processa enquanto puder ler linhas
while fgets(Linha,255,Processos) <> nil do begin
// converte o PChar para String para facilitar a manipulação dos dados
LinhaStr := Trim(String(Linha));
with Listview1.Items.Add do begin
// coloca o inicio da linha em um caption
PosAtu := Pos(' ',LinhaStr);
if PosAtu <> 0 then begin
Caption := Copy(LinhaStr,1,PosAtu-1);
LinhaStr := Trim(copy(LinhaStr, PosAtu,
Length(LinhaStr)));
end
else begin
Caption := LinhaStr;
LinhaStr := '';
end;
// o restante da linha coloca nos sub-ítens
while LinhaStr <> '' do begin
PosAtu := Pos(' ',LinhaStr);
if PosAtu <> 0 then begin
SubItems.Add(Copy(LinhaStr,1,PosAtu-1));
LinhaStr := Trim(copy(LinhaStr, PosAtu,
Length(LinhaStr)));
end
else begin
SubItems.Add(LinhaStr);
LinhaStr := '';
end;
end;
end;
end;
// fecha pipe
pclose(Processos);
end;
Pronto! Agora é só executar o programa e visualizar os processos.
---------------------------------
Viva a liberdade dos códigos
---------------------------------
Master Foca.