uses Shellapi;
function Virtuell(Pfad: String): String;
const
Trenner = ' > ';
var
FileInfo: SHFileInfo;
P: Integer;
begin
Result := '';
Repeat
SHGetFileInfo(pchar(Pfad), FILE_ATTRIBUTE_DIRECTORY, FileInfo,
SizeOf(TSHFileInfo), SHGFI_DISPLAYNAME);
Result := FileInfo.szDisplayName + Trenner + Result;
P := lastdelimiter('\', Pfad);
Pfad := copy(Pfad, 1, P - 1);
until Pfad = '';
Result := Trenner + 'Dieser PC' + Trenner + Result;
end;
// Beispielaufruf (auf einem Acer-PC)
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption :=
Virtuell('C:\Users\Public\Documents');
// ergibt:
// > Dieser PC > Acer (C:) > Benutzer > Öffentlich > Öffentliche Dokumente >
end;