Запуск ярлыка

Никол1
Дата: 14.11.2007 16:50:32
Здравствуйте, люди добрые.
Подскажите, можно ли через shellexecute запустить документ через ярлык (*.lnk).
То есть:
ShellExecute(handle,nil,PChar('doc\1100-2-036.lnk'),nil,nil,SW_MaxiMize);
и чтобы запустился документ 1100-2-036.pdf, находящийся, к примеру на С:.
Заранее спасибо.
Warstone
Дата: 14.11.2007 16:51:31
Вот на такие вопросы есть только 1 ответ.

Можно, запускайте.
Anatoly Podgoretsky
Дата: 14.11.2007 17:01:20
Вот единственно правильный совет с твоей стороны
Никол1
Дата: 14.11.2007 17:04:17
Гм. А вот тут такая загвоздка:
Если в ShellExecute вручную прописать путь к ярлыку - то открывает.
А если путь задать переменной, которая берет путь к ярлыку из базы Access - не хочет.
Базу проверил, путь правлиный. Ярлыка - тоже.
В чем может быть дело?
Warstone
Дата: 14.11.2007 17:07:05
Берешь дебаггер и смотришь где ты неправ.
Никол1
Дата: 14.11.2007 17:10:15
И еще:
Путь в базе задается через OpenDialog.
И при его закрытии (выбрали ярлык) прописывается путь 'XXXX.pdf', а не "XXXX.lnk". И док не открывается.
При ручном редактировании в базе (через Access, изменяем расширение на ".lnk") результата все равно нет.
Никол1
Дата: 14.11.2007 17:17:21
Вообще замут:
в Access'e строка пути "doc\1100-2-036.lnk" задана OpenDialog - не запускается
Вручную стираю, пишу то же самое - работает.
Падаю...
Никол1
Дата: 15.11.2007 09:17:15
Так и не понял причину проблемы...
Переделал начисто - нормально заработало.
Интересно, что при открытии ярлыка через OpenDialog в свойство FileName задается конечный документ, а не ярлык.
Пришлось менять расширение вручную через Copy.