2016-09-07 4 views
0

Я пытаюсь запустить консольное приложение в Windows с помощью метода QProcess «start». Официальная документация говорит, что я могу сделать это так:Как запустить процесс в Windows с помощью QT?

QProcess process; 
process.start("C:/Windows/System32/cmd.exe"); 

Я ожидаю, что стандартное приветствие сообщение появится в консоли вызывающего приложения, но этого не происходит, хотя называется процесс запущен. Что здесь не так?

+0

Кстати, он работает так, как я ожидал, что он сработает, когда я это сделаю с помощью функций WinAPI. –

+1

http://stackoverflow.com/questions/2622864/start-a-process-using-qprocess duplicate? – HazemGomaa

ответ

0

использование сильфона например:

QProcess *process = new QProcess(this); 
QString program = "explorer.exe"; 
QString folder = "C:\"; 
process->start(program, QStringList() << folder); 

также можно использовать в system() как ниже:

system("C:/Windows/System32/cmd.exe"); 
+0

«C: \» не является допустимым строковым литералом в C++. – MrEricSir

+0

Что это такое? У меня нет классов. Я знаю о 'system()', но я хочу использовать функции Qt. –

+0

Вы проверяете 'process-> start()' в моем ответе? –

0

Как насчет этого статического вызова?

QProcess::startDetached(FilePath,Arguments,StartInDir); 

Не нужно создавать объекты!

+0

Detatched отлично работает, но это не то, что нужно. –

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