Qt QProcess启动和关闭外部程序

Posted mathyk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt QProcess启动和关闭外部程序相关的知识,希望对你有一定的参考价值。

    //适用于关闭后台进程的方法
QString c = "taskkill /im notepad.exe /f"; int pInt = QProcess::execute(c); //关闭后台notepad.exe进程,阻塞式运行,一直占用cpu,成功返回0,失败返回1 qDebug()<<"pInt:"<<pInt;

一、启动外部程序的两种方式:
(1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
        外部程序启动后。将随主程序的退出而退出。
(2)分离式:void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
        外部程序启动后,当主程序退出时并不退出。而是继续执行。

//1-不带空格。能够启动
process->start("F:/AppInst/115/115com/115com.exe");
//2-带空格,无法启动
process->start("C:/Program Files/HaoZip/HaoZip.exe");
//3-带空格,使用带參模式。能够启动
process->start("C:/Program Files/HaoZip/HaoZip.exe", QStringList("C:/Program Files/HaoZip/HaoZip.exe"));

 






以上是关于Qt QProcess启动和关闭外部程序的主要内容,如果未能解决你的问题,请参考以下文章

qt怎么查看当前正在执行的代码

Qt技巧:QProcess与外部程序的调用

Qt通过QProcess启动进程并传递命令行参数

Qt通过QProcess启动进程并传递命令行参数

Qt如何打开和结束外部程序

QT软件开发: QProcess启动进程完成交互并获取输出