Ich habe auch nur D5 Pro. Du brauchst
IMHO die Units "ShlObj" und "
ActiveX" und "ComObj". Ich habe mal aus einem meiner Projekte die folgende Funktion rausgesucht:
Delphi-Quellcode:
function GetLinkDestination(s: WideString): string;
var
aShellLink : IShellLink;
aPersistFile : IPersistFile;
szData : array[0 .. MAX_PATH] of char;
aFindData : TWin32FindData;
begin
aShellLink := CreateComObject(CLSID_ShellLink) as IShellLink;
aPersistFile := aShellLink as IPersistFile;
OleCheck(aPersistFile.Load(PWidechar(s),STGM_READ));
OleCheck(aShellLink.GetPath(szData,MAX_PATH,aFindData,SLGP_SHORTPATH));
Result := szData;
end;
Allerdings bloß mit
SLGP_SHORTPATH. Guck mal bei Daniel, der hat dort
SLGP_RAWPATH stehen.