Russian Qt Forum

Qt => Общие вопросы => Тема начата: Вудруф от Декабрь 07, 2005, 11:22



Название: Путь к программе, запуск стороннего приложения
Отправлено: Вудруф от Декабрь 07, 2005, 11:22
Как мне определить путь к запущенной программе?

Как запустить (кроссплатформенно) стороннее приложение, например, любой браузер для обработки строки типа: http://abc.ru

Заранее спасибо.
Qt 4.0.1


Название: Путь к программе, запуск стороннего приложения
Отправлено: Вудруф от Декабрь 07, 2005, 11:44
Имеется именно *любой* браузер, а не какой-то конкретный.
Иными словами, как натравить систему на разбор строки http://abc.ru?


Название: Путь к программе, запуск стороннего приложения
Отправлено: Вудруф от Декабрь 08, 2005, 09:00
Путь к программе нашёл...

А вот второй вопрос так и не решил. Судя по всему, привязка к выбранному файлу создаётся уже на уровне оконного интерфейса (как KDE).
Писать собственное приложения для отображения help'а очень не хочется. Использовать Assistant - тоже. Кто что посоветует?


Название: Путь к программе, запуск стороннего приложения
Отправлено: Dendy от Декабрь 08, 2005, 11:38
Ну и чё никто парню не ответит?  :D

Вообще подобные проблемы решаются одинаково. Наверное все видели, что в Ассистанте если кликнуть на линк, начинающийся с http, ftp или mailto, то открывается броузер. Как это делается?

Идём в исходники Qt. Открываем tools/assistant/helpwindow.cpp, и ищем функцию setSource( const QUrl & name ).

Суть сводится к следующему:
Если не установлен броузер в настройках Ассистанта, открываем в текущем броузере ОС.
- Windows: исполняется API функция: ShellExecute( 0, 0, (TCHAR*)name.toString().utf16(), 0, 0, SW_SHOWNORMAL )
- Mac X: запускается процесс open с единственным параметром name.toString()
- X11: если это KDE, то исполняем kfmclient exec name.toString(). Под гномом кажется можно сделать так: gnome-open name.toString().

Собсна, не решились Тролли вынести сие дитя в часть библиотеки, ибо, я так понимаю, полноценного кроссового механизма для открытия станичек в текущем броузере нету.


Название: Путь к программе, запуск стороннего приложения
Отправлено: Вудруф от Декабрь 08, 2005, 14:01
Огромное спасибо!