LoadLibrary的问题 char filename[]="E:\MySource\DevelopEdition\BinaryData\BinaryData.dll"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也使用filename[]这样的方式写过,没用. 老兄,LoadLibrary加载dll时是只取文件名忽略路径的,它按照自己的路径搜索规则进行加载:当前路径,系统路径,环境变量中的路径,总之是同一个文件名的dll在同一个进程中只能被加载一次 应该是DLL依赖(Dependent)的错误,两种方法找出问题:1.你倒该Dll路径下Check一下Dependence,看看他依赖于那些库,有可能你的DLL路径下的有相同文件名的Depenence,然后系统调用该DLL的时候使用到这个库。2.在执行态进行调试,打开Output window,看看执行态在C:\和在长路径下的DLL装载有什么不同 call GetLastError immediately after calling LoadLibrary to get extended error information.LoadLibrary may fail in many cases. We can not determined what happened from your description. 我在WIN98操作系统下运行不出错,你是不是把指定的目录写错了。也可以这样。你把BinaryData.dll放到C:\WINDWO\SYSTEM目录下!然后用Loadlibaray(BinaryData.dll) 你能否在DLL内调试,我有些怀疑BinaryData.DLL自己的初始化代码。不过你还是先检查一下GetLastError()的返回值,看看是否有帮助。 用下面的代码,你就知道是什么原因啦。char buf[256];handle = LoadLibrary(filename);if (handle==0) { FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, buf, sizeof( buf), 0); MessageBox(0, buf, filename, MB_OK|MB_ERROR);} 用SetCurrentDerectory()不知道行不行。 FormatMessage和SetCurrentDirectory开始调的时候就用到了。前者返回装入无效模块,后者则没有用处。 想把VC++学好的新手 编程的你所遇到的问题 双缓存 onpaint 漂亮进度条制作的问题.现需要制作一个比较特殊的Progress,如何给进度条套一个自己指定的漂亮皮肤,请达人指点。 CProcessCtrl 进度条控制问题? 如何让 CEdit 控件,显示字符串后部分数据? VC 6.0环境的问题,求教? C语言基本语法(经常出现在招聘中出现) 我的vc6.0用不了MoveTo函数 怎样在对方机器上弹出一个对话框?哪位大虾能不能给个思路。 请问wsprintf和wsvprintf的区别 如何得到一个进程的创建进程的可执行程序路径
LoadLibrary may fail in many cases. We can not determined what happened from your description.
不过你还是先检查一下GetLastError()的返回值,看看是否有帮助。
handle = LoadLibrary(filename);
if (handle==0) {
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
NULL, GetLastError(), 0, buf, sizeof(
buf), 0);
MessageBox(0, buf, filename, MB_OK|MB_ERROR);
}