Habe was rausgefunden:
Wenn die Datei/der Ordner im Stammverzeichnis der Festplatte liegt, kommt der richtige Iconindex zurück. (z.B. C:\pagefile.sys)
Liegt die Datei aber in einem Unterordner, schlägt die Funktion fehl. GetLastError liefert "Das System kann die angegebene Datei nicht finden".
Delphi-Quellcode:
procedure TSearchForm.AddSearchResult(Folder: String; var FileInfo: TsearchRec);
var newItem: TListItem;
begin
newItem := LV.Items.Add;
with newItem do
begin
Caption := FileInfo.Name;
ImageIndex := GetShellImage( PChar(Folder+FileInfo.Name) );
SubItems.Add(Folder);
Subitems.Add(FormatFloat('#0,',FileInfo.Size / 1024)+' kb' );
Tag := FileInfo.Size;
end;
end;
Folder + FileInfo.Name. Daran lags... an Folder wurde kein "\" angehängt.
Dani H.