QProcess:进程Web浏览器仍在运行时被销毁

问题描述

使用Qprocess启动外部浏览器后是否可以关闭窗口或选项卡?

我尝试了以下操作(例如):

#include <QCoreApplication>
#include "QProcess"
#include "QThread"

int main(int argc,char *argv[])
{
    QCoreApplication a(argc,argv);

    QProcess process;
    process.start("C:/Program Files/Google/Chrome/Application/Chrome.exe",QStringList() << "google.com");
    QThread::msleep(1000);
    process.kill();
    process.waitForFinished();

    return a.exec();
}

但是该过程尚未结束。

那么,这是否不可能或有解决方法?谢谢。

解决方法

这不是最好的解决方案,但我在这里是:

QProcess::execute("taskkill",QStringList() << "/IM" << "chrome.exe" << "/F");

它只能在Windows系统上运行,并关闭所有浏览器窗口,但这是我已经达到的唯一解决方案,并且现在将使用。