Delphi-Quellcode:
function TForm1.GetExeFromLnk(AFile: string): string;
var
shellLink: IShellLink;
persistFile: IPersistFile;
path: array[0..MAX_PATH] of Char;
fileInfo: TWin32FindData;
begin
OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, shellLink));
persistFile:= shellLink as IPersistFile;
persistFile.Load(StringToOleStr(AFile), STGM_READ);
shellLink.Resolve(0, SLR_UPDATE);
shellLink.GetPath(path, MAX_PATH, fileInfo, SLR_ANY_MATCH);
Result:= path;
end;
Ist definitiv nicht auf meinem Mist gewachsen, aber funktioniert bei mir einwandfrei!
Woher ich es habe weiß ich aber nicht mehr...