Russian Qt Forum
Май 03, 2024, 22:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Путь к программе, запуск стороннего приложения  (Прочитано 6063 раз)
Вудруф
Гость
« : Декабрь 07, 2005, 11:22 »

Как мне определить путь к запущенной программе?

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

Заранее спасибо.
Qt 4.0.1
Записан
Вудруф
Гость
« Ответ #1 : Декабрь 07, 2005, 11:44 »

Имеется именно *любой* браузер, а не какой-то конкретный.
Иными словами, как натравить систему на разбор строки http://abc.ru?
Записан
Вудруф
Гость
« Ответ #2 : Декабрь 08, 2005, 09:00 »

Путь к программе нашёл...

А вот второй вопрос так и не решил. Судя по всему, привязка к выбранному файлу создаётся уже на уровне оконного интерфейса (как KDE).
Писать собственное приложения для отображения help'а очень не хочется. Использовать Assistant - тоже. Кто что посоветует?
Записан
Dendy
Гость
« Ответ #3 : Декабрь 08, 2005, 11:38 »

Ну и чё никто парню не ответит?  Веселый

Вообще подобные проблемы решаются одинаково. Наверное все видели, что в Ассистанте если кликнуть на линк, начинающийся с 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().

Собсна, не решились Тролли вынести сие дитя в часть библиотеки, ибо, я так понимаю, полноценного кроссового механизма для открытия станичек в текущем броузере нету.
Записан
Вудруф
Гость
« Ответ #4 : Декабрь 08, 2005, 14:01 »

Огромное спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.147 секунд. Запросов: 20.