C++ 如何设置运行程序的应用程序路径?

C++ 如何设置运行程序的应用程序路径?,c++,path,C++,Path,我有一个由另一个程序执行的程序。正在执行的程序需要位于其自身位置[相同文件夹]的文件。如果调用myfile.open(“xpo.dll”),可能会出现错误,因为我没有传递[fullpath+name+扩展名]。正在执行的程序可以根据安装路径的不同而改变路径。因此,我想知道是否有一种方法可以获取应用程序路径[应用程序所在的位置],并将其设置为当另一个程序从另一个路径执行时,所有程序都可以正常工作 [使用C++无.NETFramework ] < /P> 谢谢 为hModule使用并传递NULL

我有一个由另一个程序执行的程序。正在执行的程序需要位于其自身位置[相同文件夹]的文件。如果调用myfile.open(“xpo.dll”),可能会出现错误,因为我没有传递[fullpath+name+扩展名]。正在执行的程序可以根据安装路径的不同而改变路径。因此,我想知道是否有一种方法可以获取应用程序路径[应用程序所在的位置],并将其设置为当另一个程序从另一个路径执行时,所有程序都可以正常工作

[使用C++无.NETFramework ] < /P> 谢谢

为hModule使用并传递NULL

DWORD GetModuleFileName(
    HMODULE hModule,   // handle to module
    LPTSTR lpFilename, // path buffer
    DWORD nSize        // size of buffer
);
为hModule使用并传递NULL

DWORD GetModuleFileName(
    HMODULE hModule,   // handle to module
    LPTSTR lpFilename, // path buffer
    DWORD nSize        // size of buffer
);

首先,我在其他语言中经常遇到这个问题,并且发现processmonitor()对于查找它当前试图访问的文件夹非常有用

没有用于执行此操作的标准函数

  • 只是想一想,你试过做myfile.open“/xpo.dll”吗

  • 如果是控制台应用程序,则可以使用POSIX getcwd函数:

  • 如果它是Windows应用程序,并且您可以使用Windows API,那么您可以使用GetModuleFileName。。。见对这一问题的第二次答复:


  • 首先,我在其他语言中经常遇到这个问题,并且发现processmonitor()对于查找它当前试图访问的文件夹非常有用

    没有用于执行此操作的标准函数

  • 只是想一想,你试过做myfile.open“/xpo.dll”吗

  • 如果是控制台应用程序,则可以使用POSIX getcwd函数:

  • 如果它是Windows应用程序,并且您可以使用Windows API,那么您可以使用GetModuleFileName。。。见对这一问题的第二次答复: