如何使用Qprocess执行CMD命令

How to execute a cmd command using QProcess?

本文关键字:CMD 命令 执行 Qprocess 何使用      更新时间:2023-10-16

我正在尝试使用

执行CMD命令
QProcess::startDetached("cmd /c net stop "MyService"");

这似乎并不能停止服务。但是,如果我从start>>运行,它可以正常运行。

qprocess :: startDetached将以第一个参数为命令执行,以下由空格界定的参数将被解释为命令的单独参数。

因此,在这种情况下: -

QProcess::startDetached("cmd /c net stop "MyService"");

该函数将 CMD 视为命令和通过/C,NET,停止和" MyService"作为对CMD的参数。但是,除/c以外,其他人是单独解析的,不是有效的参数。

您需要做的是使用" Net Stop " MyService "将其作为单个参数传递,这样就可以给您: -

QProcess::startDetached("cmd /c "net stop "MyService""");

另外,使用字符串列表可以使用: -

QProcess::startDetached("cmd", QStringList() << "/c" << "net stop "MyService"");