Ras*_*ber 9 c++ windows dll loadlibrary
我正在编写一个DLL来插入另一个(第三方)应用程序.DLL将需要依赖于另一组DLL(出于许可证原因,我无法静态链接).
我希望我的DLL可以"xcopy-deployable"到任何目录.我也不想要求将此目录添加到路径中.
如果我只是以通常的方式构建DLL,Windows将拒绝加载DLL,因为它无法找到当前进程旁边的DLL.
有没有什么好的选项可以帮助Windows找到DLL?
回答一些问题:
GetModuleFileName.LoadLibrary而GetProcAddress当然会工作,但不是在我的情况真的是可行的.我在其他DLL中使用了数百个(如果不是数千个)方法.我真的需要使用import-libraries.我曾考虑过SetDllDirectory在DllMain中使用延迟加载的dll .有没有人尝试过这样的事情?
我能想到3种方法。
LoadLibrary()和GetProcAddress()但是,如果 dll 与 .exe 不在同一文件夹中,您如何知道它在哪里?忘记Windows不知道,你怎么知道?