![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прочитать ссылку, на которую ссылается ink-файл (файл ярлыка) [D6, WinXP]
Volf_555 © (2006-01-21 19:12:00)Делаю прогу-мониторинг автозагрузки реестра. Столкнулся с проблемой извлечения ссылки с *.ink - файла, то есть с файла ярлыка. Каким образом мне это сделать?
Volf_555 (2006-01-21 20:41:00) [1]
> Volf тебе Wotsit не понравился? :-)
Понравился, то понравился :-)
Но необходимой инфы по Delphi не получил. Там описана структура ярлыка... Но не про Delphi :)
tesseract (2006-01-21 20:38:00) [2]Переписать.
Volf тебе Wotsit не понравился? :-)
Volf_555 (2006-01-21 20:27:00) [3]GetLinkInfo() - прописан на С++, как на Delphi перекомпилировать? :-)
GuAV (2006-01-21 20:02:00) [4]http://support.microsoft.com/default.aspx?scid=kb;en-us;130698
Volf_555 (2006-01-21 20:00:00) [5]Всё заработало - спасибо!
Только *.pif - файлы не берёт.... Это тоже файл ярлыка, только для DOS
tesseract (2006-01-21 19:57:00) [6]ShlObj
Volf_555 (2006-01-21 19:55:00) [7]
> tesseract © (21.01.06 19:42) [5]
> http://www.wotsit.org/download.asp?f=shortcut
Информация про структуру ярлыков интересная, но примерчика там нету...
Volf_555 (2006-01-21 19:42:00) [8]Нашёл следующую функцию, которая работает с небольшими сбоями.
function NameFromLink(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;
Может кто подскажет какие модули надо подключить для нормальной работы функции?
tesseract (2006-01-21 19:42:00) [9]http://www.wotsit.org/download.asp?f=shortcut
Volf_555 (2006-01-21 19:27:00) [10]
> Также можно поискать формат файла на whatisit.
Дай ссылку
Volf_555 (2006-01-21 19:25:00) [11]Что позновательно - это точно :-)
Но мне необходимо прочитать ссылку....
tesseract (2006-01-21 19:17:00) [12]Не пробовал открыть его в hex-editorе. Позновательно :-)
Также можно поискать формат файла на whatisit.