在dll中获取应用程序路径

时间:2012-08-29 05:28:09

标签: c++ dll wxwidgets

我的宿主应用程序是使用wxWidgets开发的,我需要一个纯C ++ dll中的app路径。 如果我正在开发可执行应用程序,我可以从argv [0]获取应用程序路径。 但是,如果我正在开发一个DLL,我怎样才能使用C ++获取应用程序路径?有可能吗?

3 个答案:

答案 0 :(得分:4)

因为你提到.dll,你很可能正在开发一个Windows .dll。如果您想使用.dll获取.exe的路径,请致电GetModuleFileName(NULL, ...)。如果您想要.dll的路径,则可以传递传递给HINSTANCE的{​​{1}}参数。

答案 1 :(得分:0)

您无法使用C ++获取DLL的应用程序路径。 C ++语言没有指定和支持DLL。您应该使用操作系统API来执行此类操作。例如Windows API:GetModuleFileName

答案 2 :(得分:0)

如果您希望获取主机中的应用程序路径(并将其传递给未使用方法的DLL代码),则可以使用其他回答者建议的Windows API GetModuleFileName()。或者,您可以使用wxWidgets方法wxStandardPaths :: GetExecutablePath()