各位,
我在使用QT的程序中,使用QProcess启动一个外部进程,例如接管“adb”进程。
写法如下:
QProcess adbProcess;
QString strCmd = g_strAppPath + "/adb.exe";
strCmd += " devices";
adbProcess.start( strCmd);
adbProcess.waitForFinished(-1);
output = adbProcess.readAll();
问题是在默写机器上,我直接在cmd下,打开adb进程输入“ devices”信息有输出信息;
而我在用上面的代码接管adb,在有pc电脑上的表现不一样,
有些pc电脑是有有输出的,有些pc电脑是没有输出的?
为什么会这个样子呢?
这段代码怎么修改才能兼容所有情况呢?
------解决方案--------------------
使用这个原型试试:
start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)