Название: QDesktopServices::openUrl проблемы с запуском приложения. Отправлено: Anarion от Май 29, 2010, 17:22 Здравствуйте.
Ситуация следующая: хочу записывать в некотором контейнере, например QStringList sList полные пути к файлам на дисках. Затем через QDesktopServices::openUrl(QUrl::fromLocalFile(sList)) запускать их. Для обычных файлов/папок/ярлыков проблем нет. Проблема возникла с файлами *.exe. При запуске этой команды для *.exe файла в некоторых случаях возникают ошибки. Как я понял, они вызваны тем, что фактически среда не определяет рабочую папку приложения и оно не может найти файлы. Например. Если создать ярлык на такой exe-файл приложения, то приложение корректно запустится только если в ярлыке правильно указана рабочая папка. Здесь уже писали, что под виндой все сводится к запуску ShellExecute. Но все таки спрошу. Можно ли средствами Qt реализовать запуск подобных приложений? Хочу запускать приложения непосредственно через файл, а не через ярлык на них (*.lnk в винде). Сам могу предположить (скорее всего ошибочных, ибо не силен в подобных вопросах:) ) в момент запуска временно изменить путь к моему приложению, нечто типа applicationFilePath. Только сомневаюсь в возможности и целесообразности этого. Заранее благодарен. Название: Re: QDesktopServices::openUrl проблемы с запуском приложения. Отправлено: lit-uriy от Май 29, 2010, 19:15 Для запуска exe используй QProcess, перед запуском можно текущий каталог сменить.
Название: Re: QDesktopServices::openUrl проблемы с запуском приложения. Отправлено: Anarion от Май 30, 2010, 01:59 Спасибо большое. Как выяснилось, при изменении текущего каталога через QDir::setCurrent() можно даже обойтесь все тем же QDesktopServices::openUrl.
|