domingo, 13 de setembro de 2009

Nomes dos arquivos que estão sendo executados:

{É comum e até relativamente fácil encontrarmos rotinas para listar todas as janelas abertas. Mas muitas vezes não é apenas o caption das janelas que queremos listar e sim o nome do arquivo executável. Veja então uma rotina que cria uma lista de strings com esses nomes:}


uses TLHelp32; // não esqueça de incluir esta unit
procedure ListProcess(List: TStrings);
var
ProcEntry: TProcessEntry32;
Hnd: THandle;
Fnd: Boolean;
begin
List.Clear;
Hnd := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
if Hnd <> -1 then
begin
ProcEntry.dwSize := SizeOf(TProcessEntry32);
Fnd := Process32First(Hnd, ProcEntry);
while Fnd do
begin
List.Add(ProcEntry.szExeFile);
Fnd := Process32Next(Hnd, ProcEntry);
end;
CloseHandle(Hnd);
end;
end; E para utilizar esta rotina é muito simples, veja:


procedure TForm1.Button1Click(Sender: TObject);
begin
ListProcess(ListBox1.Items);
end;

Nenhum comentário:

Postar um comentário