小编jj0*_*j01的帖子

QProcess无法执行外部可执行文件

我正在努力找到解决问题的方法,但我根本不知道如何解决它.

我正在为我制作的一些程序创建一个用户界面(所以你可以通过简单地按一个按钮启动一个可执行文件).所以我想到了使用qt.

所以我读了很多关于QProcess的内容并尝试使用它.

在我的第一个可执行文件中,我尝试通过QProcess :: start()启动它,但它没有工作,所以我尝试使用QProcess:execute():

QProcess *proc = new QProcess(this);
QDir::setCurrent("C:\\DIRTOTHEEXE\\");
QString program="HELLO.exe";
proc->execute(program);
Run Code Online (Sandbox Code Playgroud)

这完美地执行我的程序并且运行良好.

所以我试着用我的其他exe做同样的事,但它没有用

QProcess *myproc = new QProcess(this);
QDir::setCurrent("C:\\DIRTOTHEEXE\\");
QString program="HelloWorld.exe";
myproc->start(program);
Run Code Online (Sandbox Code Playgroud)

被调用的可执行文件只打印"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;
}
Run Code Online (Sandbox Code Playgroud)

windows qt windows-xp qprocess

5
推荐指数
1
解决办法
6645
查看次数

标签 统计

qprocess ×1

qt ×1

windows ×1

windows-xp ×1