![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запустить ярлык (.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 запустит все, что запускается :)