2012-08-29 156 views
0

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

+0

奇怪的问题。如果它是一个纯粹的C++ dll,为什么你要标记它 - wxWidgets? – ravenspoint

+0

@ravenspoint我在wxwidgets应用程序中链接dll。也许有办法在主机和图书馆之间交换信息。所以我提到了wxwidgets。 –

+0

你应该编辑你的问题,以便它解释你真正要问的问题。 – ravenspoint

回答

0

如果您希望获取主机中的应用程序路径(并将其传递到DLL代码中,请取消某个方法),那么您可以使用Windows API GetModuleFileName(),如其他回答者所建议的那样。或者,您可能使用wxWidgets方法wxStandardPaths :: GetExecutablePath()

0

您无法使用C++获取DLL的应用程序路径。 C++语言不指定和支持DLL。你应该使用操作系统API来做这些事情。例如Windows API:GetModuleFileName

3

既然你提到.dll,你很可能会开发一个Windows .dll。如果你想使用你的.dll文件的路径,请致电GetModuleFileName(NULL, ...)。如果你想要.dll的路径,你可以传递参数HINSTANCE而不是传递给DllMain

相关问题