C++ 从Qt程序运行外部进程,但有一些更改

C++ 从Qt程序运行外部进程,但有一些更改,c++,windows,qt,C++,Windows,Qt,我有两个项目: 程序1-我写的一个Qt程序 程序2-不是由编写的程序 我的目标是从程序1运行程序2(我知道怎么做) 然而,我的问题是程序2有一些它要查找的.ini文件。结果表明,程序2查找的目录不是可执行文件的目录,而是启动可执行文件的进程的目录……在本例中是程序1 我的错误是这样的: “在程序1//inifiles//的目录C://目录中找不到文件xxx.ini 我的问题是…有什么办法可以解决这个问题吗?我知道这有点让人困惑,所以如果有什么不合理的地方,请告诉我。假设您正在使用QProcess

我有两个项目:

程序1-我写的一个Qt程序

程序2-不是由编写的程序

我的目标是从程序1运行程序2(我知道怎么做)

然而,我的问题是程序2有一些它要查找的.ini文件。结果表明,程序2查找的目录不是可执行文件的目录,而是启动可执行文件的进程的目录……在本例中是程序1

我的错误是这样的:

“在程序1//inifiles//的目录C://目录中找不到文件xxx.ini


我的问题是…有什么办法可以解决这个问题吗?我知道这有点让人困惑,所以如果有什么不合理的地方,请告诉我。

假设您正在使用
QProcess
启动程序2,您需要通过调用
QProcess::setWorkingDirectory(const QString&dir)
来设置工作目录

各国:

将工作目录设置为dir。QProcess将在中启动进程 此目录。默认行为是在 调用进程的工作目录


假设您正在使用
QProcess
启动程序2,则需要通过调用
QProcess::setWorkingDirectory(const QString&dir)
来设置工作目录

各国:

将工作目录设置为dir。QProcess将在中启动进程 此目录。默认行为是在 调用进程的工作目录


如果您想找出当前使用的目录,请尝试以下操作:

QDir application_dir = QDir( QDir::currentPath() );

这对于调试非常有用。

如果您想知道当前使用的目录,请尝试以下方法:

QDir application_dir = QDir( QDir::currentPath() );
这对于调试非常有用