我一直试图从我的代码中运行一个小的可执行文件,并取得了很大的成功。如果我将.exe放在主目录(以及它需要的文件)中,它就可以了。但这非常混乱,因为已有几个文件。
这是我想要的目录:
C:\\Users\\Alex\\Desktop\\GSP381 iLab\\GSP381 iLab\\Models\\ModelLoader.exe
我尝试过使用ShellExecute
和system("")
以及CreateProcess()
。每次我尝试输入确切的文件路径时,都会失败。对于./ModelLoader.exe
,ModelLoader.exe
甚至./Models/ModelLoader.exe
等内容也是如此。
它变得非常烦人。我的研究告诉我system()
不是要走的路,但我对安全性或运行时100%不关心,因为这对我来说只是一次学习经历。我只是希望得到一些现在可行的东西。
编辑: 目前我刚刚评论了所有内容。它只运行这个。至于失败,程序运行,但可执行程序不运行。可执行文件100%有效。多次验证。所以这不是问题。
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, int iCmdshow)
{
system("ModelLoader.exe");
}
答案 0 :(得分:0)
试试SetCurrentDirectory
。如果可执行文件依赖于本地文件,那么它将在当前工作目录中查找它们,执行主机程序。更改工作目录允许新运行的程序在那里搜索其本地文件。