Windows - listando processos |
Top Previous Next |
uses tlhelp32;
var Proc : TProcessEntry32; Snap : THandle; begin Snap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0); Proc.dwSize := SizeOf(TProcessEntry32); Process32First(Snap,Proc); repeat ListBox1.Items.Add(Proc.szExeFile); until (not Process32Next(Snap,Proc)); end;
// ----------------- abaixo em forma de funcao para WinXP, 98 e 95 --------------
uses TLHelp32;
function ProcessoAtivo(const NomeExe: string): Boolean; var Proc: TProcessEntry32; Snap: THandle; L : TStringList; begin L := TStringList.Create; Snap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0); Proc.dwSize := SizeOf(TProcessEntry32); Process32First(Snap,Proc); repeat L.Add(UpperCase(ExtractFileName(Proc.szExeFile))); until (not Process32Next(Snap,Proc)); Result := (L.IndexOf(NomeExe) > -1); end; |