![](/img/trans.png)
[英]Implementing the CLR into old MFC/Win32 DLL and hosting DLL into MFC/Win32 Application
[英]Catching DLL dependencies in Win32 application
如何在依赖的DLL中捕获丢失的DLL?
例如:应用程序正在加载DLLA。
DLL A正在加载DLLB。
因此,如果DLL B不可用,则应用程序仅向我显示:找不到DLLA。
有什么提示可以找到解决方案吗?
目前,我使用dependency-walker来解决此问题,但我需要在应用程序内部进行某些操作,以便在缺少DLL时客户不得启动外部工具。
我尚不清楚您的用例在哪里,但是您的应用程序无法在启动“外部工具”之前调用LoadLibrary来检查DLL是否可用,并且如果失败,则报告缺少DLL?
您可以显式加载DLL。 如果缺少依赖项,则会得到一个错误/异常。
也许您可以静态地编译DLL中的代码,从而解决问题?
如果要与“ DLL Hell ”作斗争,您也许还可以将DLL放置在文件系统中,以便Windows可以加载所需的DLL。
您可以解析IAT并实现与LoadLibrary使用的算法相似的算法,以检查是否会找到dll。 开始实现此功能的是ImageNtHeader
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.