Skróty LNK?

0

Chcę odczytać ze skrótu do pliku ścieżkę i nazwę tego pliku.
Co tu zrobiem nie tak:

Uses ActiveX, SHlObj, ComObj;

function LnkPatch(Plik:string):string;
var
IObject : IUnknown;
ISLink : IShellLink;
IPFile : IPersistFile;
ok:_WIN32_FIND_DATAA;
WFileName : WideString;
begin
IObject := CreateComObject(CLSID_ShellLink);
ISLink := IObject as IShellLink;
IPFile := IObject as IPersistFile;
WFileName:=Plik;
IPFile.Load(PWChar(WFileName),1);
with ISLink do
begin
GetPath(Pchar(Plik),sizeof(Plik),ok,1);
Result:=ok.cFileName;
end;
end;

Po kompilacji i uruchomieniu z exe'ka wyskakuje błąd,a jak uruchomię z poziomu Delphi z debugerem to wszystko gra.
Dobra mam tam nazwę pliku docelowego,a jak wydobyć ścieżkę.

Znalazłem taką funkcję:
GetWorkingDirectory w ISLink ,ale jak ją użyć.

0

Może zna ktoś inny kod podobny do powyższego?

1 użytkowników online, w tym zalogowanych: 0, gości: 1