Вниз
Скачать: CL | DM;

Как прочитать ссылку, на которую ссылается ink-файл (файл ярлыка)   Найти похожие ветки 

← →
Volf_555   (2006-01-21 19:12) [0]

Делаю прогу-мониторинг автозагрузки реестра. Столкнулся с проблемой извлечения ссылки с *.ink - файла, то есть с файла ярлыка. Каким образом мне это сделать?


← →
tesseract ©   (2006-01-21 19:17) [1]

Не пробовал открыть его в hex-editorе. Позновательно :-)
Также можно поискать формат файла на whatisit.


← →
Volf_555   (2006-01-21 19:25) [2]

Что позновательно - это точно :-)

Но мне необходимо прочитать ссылку....


← →
Volf_555   (2006-01-21 19:27) [3]


> Также можно поискать формат файла на whatisit.

Дай ссылку


← →
Volf_555   (2006-01-21 19:42) [4]

Нашёл следующую функцию, которая работает с небольшими сбоями.
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) [5]

http://www.wotsit.org/download.asp?f=shortcut


← →
Volf_555   (2006-01-21 19:55) [6]


> tesseract ©   (21.01.06 19:42) [5]
> http://www.wotsit.org/download.asp?f=shortcut

Информация про структуру ярлыков интересная, но примерчика там нету...


← →
tesseract ©   (2006-01-21 19:57) [7]

ShlObj


← →
Volf_555   (2006-01-21 20:00) [8]

Всё заработало - спасибо!

Только *.pif - файлы не берёт.... Это тоже файл ярлыка, только для DOS


← →
GuAV ©   (2006-01-21 20:02) [9]

http://support.microsoft.com/default.aspx?scid=kb;en-us;130698


← →
Volf_555   (2006-01-21 20:27) [10]

GetLinkInfo() - прописан на С++, как на Delphi перекомпилировать? :-)


← →
tesseract ©   (2006-01-21 20:38) [11]

Переписать.
Volf тебе Wotsit не понравился? :-)


← →
Volf_555   (2006-01-21 20:41) [12]


> Volf тебе Wotsit не понравился? :-)

Понравился, то понравился :-)
Но необходимой инфы по Delphi не получил. Там описана структура ярлыка... Но не про Delphi :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
2-1138963088
pvm
2006-02-03 13:38
2006.02.19
DLL


2-1138739534
MIXER
2006-01-31 23:32
2006.02.19
строки ---Edit


3-1135456112
Fed
2005-12-24 23:28
2006.02.19
Вычисляемое поле


15-1138776748
Ega23
2006-02-01 09:52
2006.02.19
С Днём рождения! 1 февраля


2-1138881209
Kolan
2006-02-02 14:53
2006.02.19
property и Ctrl + Shift + C.




   Наверх