能力值:
( LV9,RANK:610 )
2 楼
为什么不GetLastError一下呢?
能力值:
( LV2,RANK:10 )
3 楼
GetLastError 126
能力值:
( LV9,RANK:610 )
4 楼
……给我看有什么用啊?你要自己去看这个错误码什么意思,然后分析可能的原因,学编程咋能这样啊
能力值:
( LV2,RANK:10 )
5 楼
126 找不到指定的模块
可能该dll还要依赖其他dll,而你电脑上没有
能力值:
( LV2,RANK:10 )
6 楼
我晕……既然我知道这个错误代码肯定分析过,正因为不知道是什么原因才发帖问的。
如果你没有试过,那么请不要否认我的学习态度!
能力值:
( LV2,RANK:10 )
7 楼
我试过了,这个和依赖性没有关系……全都是一些通用的库。环境里全都有
能力值:
( LV12,RANK:240 )
8 楼
先百度 关键字 : loadlibrary 返回0 126
因为这个动态库调用的另一个动态库没有在当前目录下 该动态链接库采用了静态的方式调用了另一个链接库(B),而另一个链接库则又采用静态的方式调用了另一个动态链接库(C),但是 C 却没有拷贝到程序所在目录,所以导致不能正常加载
得到信息后 看下msvcp80依赖的DLL 如下
KERNEL32.DLL
MSVCP80.DLL
MSVCR80.DLL
MSVCRT.DLL
NTDLL.DLL
然后你把这些DLL拷贝到你的工程目录下应该就可以了 猜测的 你试下= = 如果还不行 看下这些依赖的DLL还依赖啥DLL, 都拷贝到工程目录下。。。。。。
能力值:
( LV2,RANK:10 )
9 楼
刚刚又试了一遍确认了一下,还是老样子……
我在想是不是运行时库的函数不能够这样调用
能力值:
( LV5,RANK:60 )
10 楼
遇到这种问题,最好的办法就是把那个dll的绝对路径写上,看看能不能调用,例如:
LoadLibrary("c:\\windows\\system32\\msvcp80.dll");如果这样还是错,那就是msvcp80.dll本身格式有问题或者不存在了。
能力值:
( LV15,RANK:670 )
11 楼
LoadLibrary("msvcp80");
试试这样写
不过,Load这个dll有什么用??
能力值:
( LV2,RANK:10 )
12 楼
我测试过,这个和路径、依赖都没有关系。有人说
This is because MSVCP80.dll is forbidden to be loaded by LoadLibrary and Windows mandates that applications must use manifests to load it. And no apparent way how to use manifest to load the dll "by hand".
可如果是VC6调用或者其他语言调用再或者在Linux平台小调用这个DLL文件怎么办呢?
能力值:
( LV2,RANK:10 )
13 楼
manifest 问题 msvcp80里面有检查
能力值:
( LV2,RANK:10 )
14 楼
或许可以patch掉_check_manifest(hDllHandle)
能力值:
( LV2,RANK:10 )
15 楼
嗯,晓得了……看来想调用8.0以上的运行时库不是很容易啊
能力值:
( LV2,RANK:10 )
16 楼
应该是缺少必要的依赖dll,dll的依赖是树形的关系,A依赖B,B依赖C,C依赖D,这环节上缺少任何一个都会Load失败,楼主仔细检查一下吧