Форум: "WinAPI";
Текущий архив: 2012.05.20;
Скачать: [xml.tar.bz2];
ВнизИзвлечение объекта из lnk-файла Найти похожие ветки
← →
webpauk © (2009-10-30 15:32) [0]Как извлечь имя файла (объект) на который ссылается lnk-файл?
← →
Leonid Troyanovsky © (2009-10-30 16:26) [1]
> webpauk © (30.10.09 15:32)
> Как извлечь имя файла (объект) на который ссылается lnk-
> файл?
А имя зачем потребовалось? Я к чему, если запустить,
то можно примерно так:
http://groups.google.com/group/fido7.ru.delphi/msg/83a2491e6033dfcd
Ну, а имя файла можно в свойствах IShellFolder, ЕМНИП, поискать.
--
Regards, LVT.
← →
webpauk © (2009-10-30 16:42) [2]предположим, ярлык удалили. но объект то остался?
вот для чего нужен именно объект, на который ссылается lnk
← →
webpauk © (2009-10-30 17:02) [3]нашел
uses
ShlObj, ActiveX;
function GetTarget(const LinkFileName: String; out Str:String): Boolean;
var
psl: IShellLink;
ppf: IPersistFile;
WidePath: Array[0..260] of WideChar;
Info: Array[0..MAX_PATH] of Char;
wfs: TWin32FindData;
begin
Result:=false;
if UpperCase(ExtractFileExt(LinkFileName)) <> ".LNK" Then
begin
Str:="NOT a shortuct by extension!";
Exit;
end;
CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, psl);
if psl.QueryInterface(IPersistFile, ppf) = 0 then
begin
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(LinkFileName), -1, @WidePath, MAX_PATH);
ppf.Load(WidePath, STGM_READ);
psl.GetPath(@info, MAX_PATH, wfs, SLGP_UNCPRIORITY);
Str := info;
Result:=True;
end
else Str := "";
end;
← →
Anatoly Podgoretsky © (2009-10-30 20:05) [4]> webpauk (30.10.2009 16:42:02) [2]
Смешно, ярлык удалили, но из него надо изъять информацию.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2012.05.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c