Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Как прочитать ссылку, на которую ссылается 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 вся ветка

Форум: "Основная";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
15-1138180213
Red_imp
2006-01-25 12:10
2006.02.19
Народ посоветуйте программу для учета трафика


6-1131460316
vishnia
2005-11-08 17:31
2006.02.19
Работа ISAPI DLL


15-1138625615
ArtemESC
2006-01-30 15:53
2006.02.19
Получают ли что-то модераторы?


15-1138526367
palva
2006-01-29 12:19
2006.02.19
О выборе и оценке криптоалгоритма


2-1138632049
gidd
2006-01-30 17:40
2006.02.19
трех позиционный CheckBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский