我正在努力寻找解决问题的方法,但我根本不知道如何解决。
我正在为我创建的一些程序创建用户界面(这样你只需通过简单地按下一个按钮就可以启动可执行文件)。所以我想使用Qt。
于是我阅读了很多关于QProcess的文章并尝试使用它。
在我的第一个可执行文件中,我尝试通过QProcess::start()来启动它,但它没有起作用,所以我尝试使用QProcess:execute():。
被调用的可执行文件只是简单地打印“Hello World”,然后返回0。
现在我的问题是:什么可能导致这种行为,以及为什么我不能使用QProcess::start()来运行第一个可执行文件?
顺便说一下:我也尝试将workingDirectory()设置为exe的路径,但那也没有起作用。
希望有人能帮助我。
编辑:所以程序被执行,但在打印出一行后立即崩溃。
编辑:这里是HelloWorld源代码。
我正在为我创建的一些程序创建用户界面(这样你只需通过简单地按下一个按钮就可以启动可执行文件)。所以我想使用Qt。
于是我阅读了很多关于QProcess的文章并尝试使用它。
在我的第一个可执行文件中,我尝试通过QProcess::start()来启动它,但它没有起作用,所以我尝试使用QProcess:execute():。
QProcess *proc = new QProcess(this);
QDir::setCurrent("C:\\DIRTOTHEEXE\\");
QString program="HELLO.exe";
proc->execute(program);
这段代码可以完美地执行我的程序并且运行良好。
因此,我尝试对另一个exe文件做同样的操作,但是它没有起作用。
QProcess *myproc = new QProcess(this);
QDir::setCurrent("C:\\DIRTOTHEEXE\\");
QString program="HelloWorld.exe";
myproc->start(program);
被调用的可执行文件只是简单地打印“Hello World”,然后返回0。
现在我的问题是:什么可能导致这种行为,以及为什么我不能使用QProcess::start()来运行第一个可执行文件?
顺便说一下:我也尝试将workingDirectory()设置为exe的路径,但那也没有起作用。
希望有人能帮助我。
编辑:所以程序被执行,但在打印出一行后立即崩溃。
编辑:这里是HelloWorld源代码。
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
cout<<"HELLO WORLD!!"<<endl;
return 0;
}
proc->waitForFinished();
? - Shf