2010-11-14 6 views
0

Я кодирую один проект, который должен запустить некоторые веб-браузеры с заданным URL-адресом.Qt - Как открыть сайт в определенном браузере

Я видел несколько примеров QT, но они объяснили, как запустить браузер по умолчанию, а не конкретный браузер.

Любые полезные предложения будут оценены.

Edit1:

Ниже приведен код, я использую в настоящее время

QString temp="C:/Program Files/Internet Explorer/iexplore.exe"; 
process->start(temp.toStdString().c_str()); 

Edit2

Привет, я обнаружил, что проблема не в QProcess-> начать, потому что отлично работает для «explorer.exe», но не работает, для исполняемых файлов, которые находятся в Program Files. Поэтому я публикую новый вопрос об этом.

+1

Я уверен, что есть что-то не так с пути. Найдите путь к исполняемому файлу, который вы пытаетесь использовать. – anijhaw

+0

В ответ на ваш Edit2: Ben Voigt имеет правильное решение. вы должны «избегать» пробельных символов, иначе они берутся как аргументы, а не путь. – g19fanatic

ответ

2

Если вы знаете, какой браузер вы хотите начать и где они находятся в системе (таких как установка по умолчанию каталоги). Вы должны быть в состоянии использовать QProcess

Это обычно можно сделать следующее:

iexplore.exe http://www.locationOfUrl.com

или

//path/to/app/firefox.exe http://www.locationOfUrl.com

+1

+1 для QProcess. Проверьте документ. для метода QProcess :: start: http://doc.qt.nokia.com/4.7/qprocess.html#start-2 –

+0

Результат отрицательный. Он не работает – prabhakaran

+0

@prabhakaran: требуется немного больше информации, кроме «Не работает». Вы получаете ошибки? Можете ли вы показать код? Что вы пробовали? QT QProcess - это кросс-платформа, поэтому он должен «работать» без заминки (я начал процессы раньше с аргументов, что именно то, что вам нужно сделать ...) – g19fanatic

1
system("/path/to/the/browser \"http://www.the.com/url\""); 

или spawn вместо system (дает вам контроль над переменными окружения и т.д.)

+0

@Ben Оба не работали. – prabhakaran

+0

@Ben Следующие системы не работали («C:/Program Files/Internet Explorer/iexplore.exe»); – prabhakaran

+0

@Ben Новая консоль вызывает какое-то сообщение, но я не могу ее получить. Потому что консоль закрывается в течение 2 мин. Можете ли вы сказать, как получить это сообщение, или заставить консоль замораживаться в течение нескольких минут. – prabhakaran

Смежные вопросы