我想运行外部进程,但此代码不起作用。
QStringList args;
QString path = "C:\Users\User\Documents\visual studio 2010\Projects\Avito Main\Avito Main\Debug";
QProcess* child = new QProcess();
child->setWorkingDirectory(path);
child->start("a.exe",args);
答案 0 :(得分:1)
QProcess::setWorkingDirectory
设置进程本身的工作目录; 不让Qt在此路径中查找您的可执行文件。
因此,您必须将完整路径传递给QProcess::start
函数:
QStringList args;
QString path = "C:/Users/User/Documents/visual studio 2010/Projects/Avito Main/Avito Main/Debug";
QProcess *child = new QProcess();
child->setWorkingDirectory(path);
child->start(path + "/a.exe", args);
另请注意,路径中的“\”字符用于转义序列。请改用“\\”或“/”。