Próbuję wyciągnąć ścieżkę ze skrótów, czyli z plików o rozszerzeniu *.lnk, w google są jakieś przykłady, a że z COM nigdy nie miałem doświadczenia, bo dopiero się uczę, to trochę trudny jest taki kod. Zastanawia mnie, co oznacza "as" w np. linijce kodu:
islTemp:= IU as islTempellLink;
I jak tę samą linijkę można zapisać w inny sposób (może być dłuższy)? Wtedy łatwiej zrozumiem ją, bo w tym momencie dziwne mi się to wydaje.
Tu w razie czego doklejam cały kod:
var
iuLink: IUnknown;
islTemp: IShellLink;
ipfTemp: IPersistFile;
fdTemp: TWin32FindData;
arrBuffer: array [0..MAX_PATH] of char;
begin
iuLink:= CreateComObject(CLSID_ShellLink);
** islTemp:= IU as islTempellLink;
ipfTemp:= IU as IPersistFile;**
ipfTemp.Load(PWideChar(strLinkFile), STGM_READ);
islTemp.Resolve(0, SLR_ANY_MATCH or SLR_NO_UI);
islTemp.GetPath(arrBuffer, MAX_PATH, fdTemp, SLGP_UNCPRIORITY);
Result:= string(arrBuffer);
iuLink._Release;
end;