从程序内运行exe

时间:2017-04-01 11:03:55

标签: windows

我一直试图从我的代码中运行一个小的可执行文件,并取得了很大的成功。如果我将.exe放在主目录(以及它需要的文件)中,它就可以了。但这非常混乱,因为已有几个文件。

这是我想要的目录:

C:\\Users\\Alex\\Desktop\\GSP381 iLab\\GSP381 iLab\\Models\\ModelLoader.exe

我尝试过使用ShellExecutesystem("")以及CreateProcess()。每次我尝试输入确切的文件路径时,都会失败。对于./ModelLoader.exeModelLoader.exe甚至./Models/ModelLoader.exe等内容也是如此。

它变得非常烦人。我的研究告诉我system()不是要走的路,但我对安全性或运行时100%不关心,因为这对我来说只是一次学习经历。我只是希望得到一些现在可行的东西。

编辑: 目前我刚刚评论了所有内容。它只运行这个。至于失败,程序运行,但可执行程序不运行。可执行文件100%有效。多次验证。所以这不是问题。

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, int iCmdshow)
    {
        system("ModelLoader.exe");
    }

1 个答案:

答案 0 :(得分:0)

试试SetCurrentDirectory。如果可执行文件依赖于本地文件,那么它将在当前工作目录中查找它们,执行主机程序。更改工作目录允许新运行的程序在那里搜索其本地文件。