首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获Win32应用程序中的DLL依赖项

捕获Win32应用程序中的DLL依赖项
EN

Stack Overflow用户
提问于 2011-05-07 02:25:59
回答 3查看 1.4K关注 0票数 0

如何在依赖的DLL中捕获丢失的DLL?

例如:应用程序正在加载DLL A。

DLL A正在加载DLL B。

因此,如果DLL B不可用,应用程序只会显示: DLL A not found。

有什么建议我可以找到解决方案吗?

目前,我使用dependency-walker来解决这个问题,但我需要应用程序内部的一些东西,这样客户就不会在缺少DLL时启动外部工具。

EN

回答 3

Stack Overflow用户

发布于 2011-05-07 02:32:30

我不完全清楚您的用例是什么,但是您的应用程序不能在启动“外部工具”之前调用LoadLibrary来检查DLL是否可用,如果失败则报告DLL丢失吗?

票数 1
EN

Stack Overflow用户

发布于 2011-05-07 04:31:41

您可以显式加载DLL。如果你有一个缺失的依赖项,你会得到一个错误/异常。

也许你可以在DLL中静态编译代码,这样问题就消除了?

如果你正在使用"DLL Hell“,你也可以把DLL放在文件系统中,这样windows就可以加载你想要的DLL了。

票数 0
EN

Stack Overflow用户

发布于 2011-05-07 05:29:45

您可以解析IAT并实现一个algorithm similar with the one used by LoadLibrary来检查是否会找到dll。实现这一点的一个开始是ImageNtHeader

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5915508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档