【发布时间】:2023-06-30 15:23:01
【问题描述】:
我应该检查服务是否为RUNNING。我在执行以下查询时遇到了QProcess 查询执行问题:SC QUERY "service name" | findstr RUNNING,尽管当直接在 Windows 的命令行中执行时这工作正常。这里的代码片段如下:
QProcess process;
process.setProcessChannelMode(QProcess::ForwardedChannels);
process.start("SC QUERY \"Service_name\" | findstr RUNNING", QIODevice::ReadWrite);
// Wait for it to start
if(!process.waitForStarted())
return 0;
QByteArray buffer;
while(process.waitForFinished())
buffer.append(process.readAll());
qDebug() << buffer.data();
输出为:
你能帮帮我吗?
【问题讨论】:
-
究竟是什么问题?您是否检查了对象的 stdout/err 以及 errorString()?另外,请出示您的代码!
-
它不执行它,而是参考帮助命令
-
请展示您的代码您尝试如何使用它。你确定你的管道正确吗?您正在使用哪个 Qt,以防万一等?检查这个:doc-snapshot.qt-project.org/qdoc/…
标签: c++ qt pipe qtcore qprocess