LoadLibrary失败,用GetLastError返回1114

星际空间 2013-12-04 10:16:19
用vs2010写了个dll名为vd.dll。
用vs2005写了个dll名为ad.dll。
将ad.dll静态注入到dh.exe中。

在ad.dll中使用loadlibrary("vd.dll").失败。用GetLastError返回错误码为1114.
用dependcy查看2010写的vd.dll还依赖msvcr100.dll、msvcp100.dll。将这两个dll拷贝到同级目录下。还是出错。
我自己用vs2005写了个exe来loadlibrary("vd.dll")是成功的。用procexp查看是加载了msvcr100.dll和msvcp100.dll的。但是被注入的dh.exe中始终都是失败也没有加载msvcr100.dll和msvcp100.dll。

vd.dll因为是我自己写的dll,引用lib静态编辑,然后运行试验,直接报错。 System.IO.FileLoadException
动态链接库(DLL)初始化例程失败。 (异常来自 HRESULT:0x8007045A)

同样的dll在注入别的exe文件也没有问题。


请高手指导。
...全文
1973 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yofoo 2014-01-08
  • 打赏
  • 举报
回复
不同编译器生成的文件导致引用的crt等库的版本不一致, 在进程中出现问题 修改两个dll的编译选项, 代码生成\运行时库 改成多线程 如果实在不行就改用相同的编译器吧
zigong 2013-12-15
  • 打赏
  • 举报
回复
建议用ProcessMonitor检查是否还有别的DLL倚赖
星际空间 2013-12-13
  • 打赏
  • 举报
回复
换成2005写的mfc的dll可以加载。
傻X 2013-12-05
  • 打赏
  • 举报
回复
码制统一了么?
星际空间 2013-12-05
  • 打赏
  • 举报
回复
引用 1 楼 memeai 的回复:
1114错误是ERROR_DLL_INIT_FAILED http://bbs.csdn.net/topics/390569303?page=1 http://support.microsoft.com/kb/193462/zh-cn
谢谢,不过貌似没有具体原因的解决方法
星际空间 2013-12-05
  • 打赏
  • 举报
回复
引用 2 楼 astrostar 的回复:
楼主的操作系统是不是WIN7,如果是的话,我也遇到过一样的问题 解决的办法是如果只是引用DLL,可以用loadlibraryEX 来替换 如需要引用DLL中方法,我的办法就是兼容XP模式
还是不行,不过还是谢谢帮忙!!!
astrostar 2013-12-04
  • 打赏
  • 举报
回复
楼主的操作系统是不是WIN7,如果是的话,我也遇到过一样的问题 解决的办法是如果只是引用DLL,可以用loadlibraryEX 来替换 如需要引用DLL中方法,我的办法就是兼容XP模式
memeai 2013-12-04
  • 打赏
  • 举报
回复
1114错误是ERROR_DLL_INIT_FAILED http://bbs.csdn.net/topics/390569303?page=1 http://support.microsoft.com/kb/193462/zh-cn

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧