Название: Путь к программе, запуск стороннего приложения Отправлено: Вудруф от Декабрь 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 Огромное спасибо!
|