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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: ShellExecute  (Прочитано 13321 раз)
yatagan
Гость
« : Январь 14, 2006, 00:35 »

как в Qt открыть какой-то файл для просмотра с помощью стандартной программы? ну типа .doc .html или .pdf?
использовать winAPI ф-цию
ShellExecute(0, "open", file_name, "", "", SW_SHOW);
не хочется, хочу через Qt...
Записан
Steven_Orko
Гость
« Ответ #1 : Январь 14, 2006, 00:59 »

QProcess?
Записан
yatagan
Гость
« Ответ #2 : Январь 14, 2006, 03:43 »

ну он запускает тока исполняемые, а мне нада все остальные...

в QAssistant про это ничьо нет Грустный
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 586


Просмотр профиля
« Ответ #3 : Январь 14, 2006, 14:03 »

Посоветую использовать технологию ActiveX. В Qt работатьь можно с импользованием класса QAxObject. Очень доходчиво приемы работы описаны в статье Синтез QT и Excel.
http://hardclub.donntu.edu.ua/projects/qt/articles/qt-excel.html
Записан
AlexKiriukha
Гость
« Ответ #4 : Январь 14, 2006, 15:15 »

Можно попробовать QProcess с "start index.html". По идеи, start запустит нужное приложение для этого файла.
Записан
yatagan
Гость
« Ответ #5 : Январь 14, 2006, 23:58 »

2Mikhail:
              а как же тогда портируемость в Линух?

AlexKiriukha:
          не работает курва Грустный Шо же делать?....
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #6 : Январь 15, 2006, 07:27 »

Цитата: "yatagan"
2Mikhail:
              а как же тогда портируемость в Линух?

AlexKiriukha:
          не работает курва Грустный Шо же делать?....


еслу уж так нужно можно
#include <windows.h>

и вперёд...
WinExec
ShellExecute
Записан
Steven_Orko
Гость
« Ответ #7 : Январь 15, 2006, 07:41 »

Присоединяюсь к Sergey B:
можно все сделать в дерективах препроцессора. Когда найдешь способ, как это сделать в линукс или другой платформе, добавишь кусочек кода...
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 586


Просмотр профиля
« Ответ #8 : Январь 15, 2006, 21:18 »

Для yatagan:
О портируемости можно говорить, при решении некоторых стандартных, не зависящих от платформы задач. Например работа с портами ввода-вывода, форматами XML и т.п. Вопрос был задан о возможностях открытия файлов определенных типов. Когда говорят о *.doc, то подразумевают WinWord, следовательно о запуске Word и открытии в нем файла. Какая уж здесь кроссплатформенность. Если ставить вопрос о кросплатформенности, то либо изучи формат требуемого файла и напиши кроссплаформенную программу, либо в зависимости от платформы, как писал Sergey B., вызывай сответствующую программу. Например, Word либо OpenOffice.
Записан
Dendy
Гость
« Ответ #9 : Январь 16, 2006, 10:44 »

2 Mikhail
ТьІ немного не понял. Ему как раз и не нужна конкретная программа, а программа по-умолчанию, которая зарегистрирована для системьІ для етих типов файлов. Когда говорим о .doc - подразумеваем программу, которой пользователь настроил открьІвать ети файльІ. Предсказать программу невозможно.

Думаю, если бьІ такой полностью кроссовьІй механизм бьІл - Тролли его бьІ ужо забецали. Иначе... #ifdef #else
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 586


Просмотр профиля
« Ответ #10 : Январь 16, 2006, 20:03 »

Вот бы интересно узнать какой механизм используется в Linux для регистрации в системе программ по умолчанию для открытия файлов по расширению.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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