crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Запуск консольного приложения через QProcess, не подходит QProcess
jim1406
  опции профиля:
сообщение 18.3.2009, 16:01
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вариант

void mainWindow::on_pushButton_clicked()
{  
   QProcess *myProcess = new QProcess(NULL);
   myProcess->start(ui->lineEdit->text());
}


Позволяет запустить любые оконные приложения, но не консольные. Как быть? Может есть более простой способ "передать вызов" ОС?

Заранее признателен!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 18.3.2009, 16:11
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(jim1406 @ 18.3.2009, 16:01) *
но не консольные

очень странно. из чего такой вывод сделан?

П.С.
воспользуйся поиском по форуму. там есть темы такие же как и у тебя
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
jim1406
  опции профиля:
сообщение 18.3.2009, 16:44
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kwisp @ 18.3.2009, 19:11) *
очень странно. из чего такой вывод сделан?


Попробовал - не получается. Прописываю в эдите оконные приложения - запускаются. А консольные - нет. Я пока разбираюсь под ОС Windows... Но ведь суть не должна меняться :scratch_one-s_head: Пробовал C:\WINDOWS\system32\cmd.exe - ноль эмоций. А тут же C:\WINDOWS\system32\charmap.exe - запускается.

Вообще, хотелось бы, чтоб ОС сама решала, что с командной строкой делать, которую я не знаю как средствами Qt ей передать :unknown:

Цитата(kwisp @ 18.3.2009, 19:11) *
воспользуйся поиском по форуму. там есть темы такие же как и у тебя


Пока не нашел, в том-то и дело. Можно ткнуть меня носом :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 18.3.2009, 17:28
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


1
2
что если ввести QProcess в посике ничего не получаешь в результате?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 18.3.2009, 17:47
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Консольные программы запускаются, но у них автоматом включается Pipe на вывод. Вызови 100 раз этот CMD и увидишь, что все они висят в процессах. В общем, если тебя не устраивается пайповый перехват, то запускай процесс так:
QProcess::startDetached("C:\\WINNT\\SYSTEM32\\CMD.EXE");
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
jim1406
  опции профиля:
сообщение 18.3.2009, 20:55
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(jim1406 @ 18.3.2009, 19:44) *
1
2
что если ввести QProcess в посике ничего не получаешь в результате?


Про поиск я, конечно, догадался. Только одно дело искать то, что забыл, а другое - не знал. ;)
Спасибо!

Цитата(kwisp @ 18.3.2009, 20:28) *
Консольные программы запускаются, но у них автоматом включается Pipe на вывод. Вызови 100 раз этот CMD и увидишь, что все они висят в процессах. В общем, если тебя не устраивается пайповый перехват, то запускай процесс так...


Елки-палки! Действительно... Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 16:26