QProcess中处理命令时出错

时间:2017-01-07 12:55:01

标签: qt qprocess

我正在尝试执行以下命令并尝试获取输出但是我输出为null。

    QProcess process;
    process.start("cmd /c \"ipconfig\"");
    process.waitForFinished(-1);
    QByteArray out = process.readAll();
    QString testStr = QString::fromUtf8(out);

有人可以告诉我,我在哪里做错了吗?

2 个答案:

答案 0 :(得分:0)

process.start("C:\\Windows\\System32\\cmd.exe /c \"ipconfig\"");

答案 1 :(得分:0)

我不知道为什么这段代码没有提供任何输出

process.start("C:\\Windows\\System32\\cmd.exe /c \"ipconfig\"");

或者

process.start("C:\\Windows\\System32\\cmd.exe /c ipconfig");

但是在运行此命令时我得到了输出

process.start("C:\\Windows\\System32\\cmd.exe /c echo");

ECHO已开启。

process =new QProcess();
process->start("PowerShell -Command  ipconfig");
connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(readyReadStandardOutputSlot()));

现在我可以按如下方式读取该插槽中的输出:

void myclass::readTypeOfInstaller()
{
    QString type(process->readAll());
    qDebug()<<"type"<<type;
}