Russian Qt Forum

Qt => Общие вопросы => Тема начата: Andrew Vladoff от Март 26, 2009, 20:51



Название: Запуск другого файла из своей программы
Отправлено: Andrew Vladoff от Март 26, 2009, 20:51
Как запустить файл, например .pdf, из своей программы. В Windows было ShellExecute, а здесь?


Название: Re: Запуск другого файла из своей программы
Отправлено: spirit от Март 26, 2009, 21:09
м... QDesktopServices::openUrl хотя не уверен.


Название: Re: Запуск другого файла из своей программы
Отправлено: pastor от Март 26, 2009, 21:15
QDesktopServices::openUrl поможет


Название: Re: Запуск другого файла из своей программы
Отправлено: Barmaglodd от Март 27, 2009, 08:05
Не совсем по теме, но ... Как вызвать внешнюю программу с результатом типа ShellExecute. Для QProcess надо, чтобы вызываемая программа либо рядом лежала, либо была прописана в PATH, а ShellExecute ещё где-то ищет. Например ShellExecute (0, "", "excel", "boo.xls", 0, SW_SHOWMAXIMIZED) откроет файл в MSExcel, а QProcess не найдёт Excel:(


Название: Re: Запуск другого файла из своей программы
Отправлено: crossly от Март 27, 2009, 10:24
openUrl использует ShellExecute на MSWIN...


Название: Re: Запуск другого файла из своей программы
Отправлено: Barmaglodd от Март 27, 2009, 11:21
Это, конечно, замечательно, но прокатывает только, если для данного типа файла прописана программа, которая его открывает. А мне например надо xml  в excel открыть :(


Название: Re: Запуск другого файла из своей программы
Отправлено: pastor от Март 27, 2009, 11:25
Для QProcess надо, чтобы вызываемая программа либо рядом лежала, либо была прописана в PATH

А где такое пишут?


Укажи в качестве программы полный путь к excel, а в качестве аргумента путь к открываемому файлу


Название: Re: Запуск другого файла из своей программы
Отправлено: Barmaglodd от Март 27, 2009, 12:29
А где такое пишут?

Я не знаю как ShellExecute путь к excel получает.

Укажи в качестве программы полный путь к excel, а в качестве аргумента путь к открываемому файлу

Тогда всё равно надо будет как-то путь к excel найти, т.е. лезть в реестр, и выигрыша от использования QProcess никакого :(


Название: Re: Запуск другого файла из своей программы
Отправлено: Racheengel от Март 27, 2009, 13:19
Не совсем по теме, но ... Как вызвать внешнюю программу с результатом типа ShellExecute. Для QProcess надо, чтобы вызываемая программа либо рядом лежала, либо была прописана в PATH, а ShellExecute ещё где-то ищет. Например ShellExecute (0, "", "excel", "boo.xls", 0, SW_SHOWMAXIMIZED) откроет файл в MSExcel, а QProcess не найдёт Excel:(

QDesktopServices::openURL() должна находить, есть ей передать boo.xls.


Название: Re: Запуск другого файла из своей программы
Отправлено: spirit от Март 27, 2009, 15:35
Не совсем по теме, но ... Как вызвать внешнюю программу с результатом типа ShellExecute. Для QProcess надо, чтобы вызываемая программа либо рядом лежала, либо была прописана в PATH, а ShellExecute ещё где-то ищет. Например ShellExecute (0, "", "excel", "boo.xls", 0, SW_SHOWMAXIMIZED) откроет файл в MSExcel, а QProcess не найдёт Excel:(

QDesktopServices::openURL() должна находить, есть ей передать boo.xls.
человеку нужно xml при помощи ecxel'я открыть.  :)


Название: Re: Запуск другого файла из своей программы
Отправлено: Ишан от Февраль 19, 2014, 14:25
Привет всем! Я тоже не мог найти ответ на этот вопрос, спасибо всем тем кто написали ответы) Особенно: spirit и pastor!


Название: Re: Запуск другого файла из своей программы
Отправлено: BuRn от Февраль 24, 2014, 21:04
А если порыться по реестру? Если я не ошибаюсь, от туда можно вытащить путь до экселя или ворда, ну а там, дело за малым