如何启动与主子文件夹位于同一子文件夹中的 exe?(C++)

How do I launch an exe that's in the same subfolder as the main one? (C++)

本文关键字:文件夹 exe C++ 于同一 何启动 启动      更新时间:2023-10-16

我正在开发一个程序下载管理器,其中包含打开您下载的应用程序的选项。

您可以下载一个应用程序,它将在这里:
.../programfiles/pub/appmanager/apps/APPHERE.exe
主程序将处于
.../programfiles/pub/appmanager/MAINFILE.EXE

我需要找到启动应用程序的方法。如下图所示,我已经尝试了很多方法(system等(。 (同样system()只在同一目录中打开应用程序,所以我可以在那里做一些事情(。 我可以做一个单独的应用程序,但如果有人知道如何将其实现为.NETgui,那会很有帮助

我试过:
ShellExecute, System, Create Process
(帮助我解决这个问题我很困惑(

编辑: 我需要它,以便它创建完整的目录。

我尝试类似的东西:
system(app/pxws.exe)
,但它不起作用

我试图将字符串与 getmaindirectory 合并,它说找不到

若要获取相对于当前进程的 EXE 的新路径,可以执行以下操作:

  • 通过GetModuleFileName()或 .NET 等效检索调用进程的完整 EXE 路径。

  • 使用System.IO.Path.GetDirectoryName()剥离文件名部分 (MAINFILE.EXE(。

  • 使用System.IO.Path.Combine()附加所需的相对路径段 (apps/APPHERE.exe(。

然后,您可以将新路径与所需的任何 API 一起使用。