我正在努力寻找解决方案来解决我的问题,但我完全不知道如何解决它。QProcess无法执行外部可执行文件
我正在为我制作的某些程序创建用户界面(因此您可以通过简单地按下按钮启动可执行文件)。 所以我想使用qt。
所以我读了很多关于QProcess并试图使用它。
在我的第一个可执行我试图通过QProcess中启动它::开始(),但它没有工作,所以我用QProcess中试了一下:执行():
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;
}
嗯。它看起来像一个名为HelloWorld的程序会输出你所看到的'Hello World'。 – ExpatEgghead
是的,它输出它,但它然后崩溃(并问我是否想发送报告给ms(不知道如何在英语中调用报告))。 – jj01
helloworld.exe本身运行吗? – ExpatEgghead