Jak wyciągnąć ścieżkę ze skrótu (.lnk)
TeWuX
Po trzech dniach poszukiwań i po tym jak dwa razy moje posty zostały skasowane z forum ;-) :-) ;) :) w końcu znalazłem...
Już chyba każdy wie jak stworzyć skrót, ale jak zrobić operacje odwrotną tzn. wyciągnąć ścieżkę do pliku docelowego ze skrótu programu?
Oto gotowy kod:
function TForm1.LnkPath(Plik:WideString):String;
var
MyObj : IUnknown;
MyLnk : IShellLink;
MyPf : IPersistFile;
ok : TWin32FindData;
Path : array [0..255] of char;
begin
MyObj := CreateComObject(CLSID_ShellLink);
MyLnk := MyObj as IShellLink;
MyPf := MyObj as IPersistFile;
MyPf.Load(PWideChar(Plik),fmOpenRead);
MyLnk.GetPath(Path, 255, ok, 0);
Result:=Path;
end;
no i do uses dodajemy:
ActiveX, SHlObj, ComObj
i teraz już wystarczy tylko:
Label1.Caption := LnkPath('c:\skrot.lnk');
A ja nie wiem jak zrobić skróóóóót :(:(:(