Russian Qt Forum

Qt => Общие вопросы => Тема начата: dnc2rt от Март 22, 2010, 13:12



Название: hide cmd
Отправлено: dnc2rt от Март 22, 2010, 13:12
Доброго времени суток!

Прошу прощения, у меня вопрос не совсем по теме QT, но может кто знает или сталкивался:

Как запустить *.bat файл в скрытом режиме, чтобы cmd видно не было?
Пока пользуюсь:
Код:
QProcess::execute( "cmd /c start reg add ****" );
Но окно cmd хотелось бы скрыть от глаз, чтобы не мелькало!
Ловить процесс и прятать его с глаз долой не хочется, глюкаво получится...


Название: Re: hide cmd
Отправлено: zenden от Март 22, 2010, 14:06
Сомневаюсь что без использования Winapi можно решить эту проблему.
можно также использовать дополнительную утилиту hidcon (http://wiki.oszone.net/index.php/Скрываем_консольные_окна)


Название: Re: hide cmd
Отправлено: pastor от Март 22, 2010, 14:11
А так?

Код
C++ (Qt)
QProcess proc;
proc.start("reg", QStringList() << "add" << "***");
proc.waitForFinished();


Название: Re: hide cmd
Отправлено: dnc2rt от Март 22, 2010, 14:46
Все, задача решена:

Код:
cmd /c start /f reg add ***

Теперь на экран не выводится cmd . '/f' нужный параметр.

pastor, с командой "start" не проходит. Но вот ожидание выполнения и проверку повешу )) Спасибо!

Всем Спасибо!!!


Название: Re: hide cmd
Отправлено: IGHOR от Ноябрь 06, 2010, 00:11
QProcess *proc=new QProcess;
proc->start(program,paramsList);
proc->waitForStarted();
connect(proc,SIGNAL(finished(int, QProcess::ExitStatus)),proc,SLOT(deleteLater()));