简单问题:获取动态库本身路径!


就是我一个程序调用动态库,在动态库里面获取动态库自己所在的路径

8 个解决方案

#1


TCHAR buf[MAX_PATH]={0};
GetModuleFileName(NULL, buf, MAX_PATH);

#2


GetModuleFileName(NULL,   buf,   MAX_PATH); 取的是exe的路径

GetModuleFileName的第一个参数用Dll的句柄就可以取Dll的路径

#3


同意Yofoo的意见.

#4


恩楼上的方法也可以,还有另外一种方法
假如你了解PE格式
IMAGE_OPTIONAL_HEADER::DataDirectory[0].VirtualAddress
可以看作你这个DLL外部符号的RVA基址
IMAGE_EXPORT_DIRECTORY::Name字段存储的就是你这个模块的名称的RVA

#5


静态调用的动态库,应该是和可执行文件同目录的吧。动态调用的动态库,不知道路径也无法调用啊。

#6


2楼的可以,我试验过

#7


dll的句柄从DllMain中得到,然后调用GetModuleFileName

#8


恩,学会了,谢谢各位
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告