• 1287阅读
  • 1回复

[提问]Qt使用QProcess打开exe [复制链接]

上一主题 下一主题
离线suzhuorui
 

只看楼主 倒序阅读 楼主  发表于: 2021-06-18
问题描述:用QProcess打开其他exe时提示找不到exe的配置文件。(打开exe时会调用exe同目录下的一个txt文件)。手动打开时没问题的。
  1. QString  path=QDir::currentPath()+"/Transformation/";
  2.     QProcess process;
  3.     process.start(path+"MySoft.exe");
  4.     process.waitForFinished(-1); //等待命令执行结束
  5.     QString strTemp=QString::fromLocal8Bit(process.readAllStandardOutput());
  6.     qDebug()<<"strTemp="<<strTemp;
我在其他地方询问,有人说是路径问题,让我加上QProcessEnvironment。加上后也不正确,也没明白原因是什么。
  1. QString path=QDir::currentPath()+"/Transformation;";
  2.         QProcess* myProcess = new QProcess(this);
  3.         QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
  4.         env.insert("PATH", path + env.value("PATH"));
  5.         myProcess->setProcessEnvironment(env);
  6.         myProcess->start("MySoft.exe");
  7.         myProcess->waitForFinished(-1); //等待命令执行结束
  8.         QString strTemp=QString::fromLocal8Bit(myProcess->readAllStandardOutput());
  9.         qDebug()<<"strTemp="<<strTemp;




离线青空飞羽

只看该作者 1楼 发表于: 2021-06-18
要设置进程工作目录  void QProcess::setWorkingDirectory(const QString &dir)
快速回复
限100 字节
 
上一个 下一个