Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запустить ярлык (.lnk)??


Deus ©   (2003-07-02 14:13:00) 

Сабж.
Вытащить из ярлыка путь к файлу и запустить - не катят.


Deus   (2003-07-04 16:18:00) [1]

winExec("cmd /C D:\Far.lnk", SW_SHOW); :
Выдаёт окошко "Windows cannon open this file"
и предлагает выбрать программу для открытия из списка или заюзать веб-сервис...

Кстати: я делал ShellExecute(0,nil,PChar(EditBox1.Text),nil,nil,sw_shownormal); на 4 машинах - везде XP.
Так вот, на 2 из них запуск не происходит, возвращается 31(ERROR_GEN_FAILURE), на остальных 2 - запускается без проблем.
Чудеса...


sniknik   (2003-07-03 01:08:00) [2]

NickBat © (02.07.03 18:02)
посмотри на OpenDialog1.FileName в приведенном тобой коде

Deus © (02.07.03 20:00)
не просто а очень просто
Win2k
winExec("cmd /C D:\Far.lnk", SW_SHOW);


Deus   (2003-07-02 20:00:00) [3]

2NickBat:
Если бы всё было так просто....

WinExec("X:\Far\far.lnk",SW_SHOW);
возвращает ERROR_BAD_FORMAT

ShellExecute возвращает ERROR_GEN_FAILURE

Ярлык существует, работает - если в том же Фаре выполнить - открывает без проблем.


NickBat   (2003-07-02 18:02:00) [4]

Уважаемый Deus! Почему-же не катит ShellExecute? Ище этот код отлично работает:

if OpenDialog1.Execute then
winExec(PChar(OpenDialog1.FileName),SW_SHOW);

PS: Использовал WinExec для краткости.


Deus   (2003-07-02 17:41:00) [5]

Уважаемый Dimka Maslov! Если бы я не знал, как потрошить ярлык, я бы так и спросил. Точнее, не стал бы спрашивать, ибо инфа об этом есть везде.
Суть же в том, что в ярлыке помимо пути и т.п., есть такие вещи, как, например, размер шрифта(для консольных программ), цвета, настройки совместимости и т.д.
sic?


Dimka Maslov   (2003-07-02 17:01:00) [6]

А чем не катят-то? Ярлык для того и придуман, чтобы из него выиаскивать и путь и параметры запуска, а потом запускать. А вот если не знаешь как вытаскывать, это другой вопрос.


Deus   (2003-07-02 15:42:00) [7]

Фиг
Возвращает ERROR_FILE_NOT_FOUND, ERROR_GEN_FAILURE


jel   (2003-07-02 14:44:00) [8]

ShellExecute запустит все, что запускается :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо