Einfach die Liste mit den Ordnern durchgehen und da nach Exe suchen:
Delphi-Quellcode:
// Eigentlich Blödsinn, für jede Aufgabe eine extra Procedure
// könnte man prima mit ein paar Parametern in einer lösen
// aber zu leichteren Verständnis
procedure ExeSearch(ADirectory: String);
var
SR: TSearchRec;
begin
if FindFirst(ADirectory + '\*.exe', faAnyFile, SR)=0 then
begin
repeat
with form1 do begin
ListBox1.Items.Add(sr.Name);
end;
until FindNext(SR)<>0;
FindClose(SR);
end;
end;
// Aufrufen etwa so
var
i : Integer;
begin
for i := 0 to AdvSmoothListBox1.Items.Count do
begin
ExeSearch(AdvSmoothListBox1.Items[i]);
end;
end;
Ich bin auch kein Code-Spezialist, aber bei deiner ersten Procedure könnte man einiges übersichtlicher machen: