Ich verstehe zwar nicht genau was Du erreichen möchtest aber beim Durchlauf der Items werden nur die im Tree sichtbaren Einträge berücksichtigt. Wenn das so beabsichtigt ist, dann hilft Dir vielleicht folgendes:
Delphi-Quellcode:
For I := 0 To ShellTreeView1.Items.Count -1 do
begin
ShellTreeView1.Select(ShellTreeView1.Items[I]);
// in ShellTreeView1.SelectedFolder steht dann der aktuelle Eintrag
end
(getestet in Delphi 2005)
/Thomas