Главная страница
    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.037 c
15-1138117693
PARUS
2006-01-24 18:48
2006.02.19
Проблема с HTML.


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


2-1138910656
Kolan
2006-02-02 23:04
2006.02.19
Указатель на массив.


15-1138453656
PARUS
2006-01-28 16:07
2006.02.19
Компоненты Delphi (2005).


3-1135252914
VeB
2005-12-22 15:01
2006.02.19
M&amp;#305;crosoft Jet 4.0 нужен ли драйвер?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский