Russian Qt Forum
Ноябрь 01, 2024, 18:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] LNK (LINK-файлы) как работать с ярлыками Windows  (Прочитано 7234 раз)
Joss
Гость
« : Сентябрь 24, 2009, 19:14 »

Друзья,

есть ли у кого опыт работы с ярлыками (lnk-файлами)?
Мне нужно получить путь к приложению, на который указывает ярлык и я столкнулся со странностью:

1. Есть ярлыки, в которых не прописан абсолютный путь к приложению, а только относительный. Причем, библиотека Qt работает неверно, функция QFile::symLinkTarget возвращает путь к иконке (которая расположена в другом файле) вместо пустой строки (когда не прописан путь к приложению).
2. В MSDN в интерфейсе IShellLink нет способа получить Relative Path. Установить его мы можем, вызвав SetRelativePath, а получить нет. Я не вижу такой функции. Но это еще не вся проблема.
3. Оказывается есть ярлыки, в которых вообще не прописаны пути, ни абсолютные, ни относительные, хотя Windows их как-то запускает, и судя по всему, после запуска, прописывает в ярлык относительный путь. Вопрос как Windows это делает?

Т.е. задача получения Relative Path вроде бы может быть решена вручную, если парсить lnk-файл, а вот если он там не прописан, как быть?

Заранее благодарен за советы....
« Последнее редактирование: Октябрь 29, 2009, 15:19 от Joss » Записан
Joss
Гость
« Ответ #1 : Октябрь 29, 2009, 15:18 »

1. Первый пункт занесли в Qt баг-трекер.
2. По второму есть метод Resolve(), но он не пригодился.
3. По третьему, надо использовать msi (к сожалению, в mingw нет его):
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/2df18f93-77d8-4217-94a1-6cbe5333a6c4/
Записан
ритт
Гость
« Ответ #2 : Декабрь 30, 2009, 13:07 »

номерочек баги в студию, пожалуйста...
Записан
Joss
Гость
« Ответ #3 : Декабрь 30, 2009, 13:20 »

QTBUG-5005
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.162 секунд. Запросов: 21.