functionNameFromLink(const
lnk: string
): string
; var
MyObject: IUnknown; MySLink: IShellLink; MyPFile: IPersistFile; c: PChar; pfd: _WIN32_FIND_DATAA; begin
Result := ''; try
MyObject := CreateComObject(CLSID_ShellLink); MySLink := MyObject as
IShellLink; MyPFile := MyObject as
IPersistFile; if
MyPFile.Load(Pointer(WideString(lnk)), OF_READ) <> S_OK then
exit; c := PChar(lnk); MySLink.GetPath(c, MAX_PATH, pfd, 0); Result := string
(c); except
end
; end
;