MFC的Loadlibrary特殊的失败解决方案

MFC的Loadlibrary特殊的失败
MFC动态加载DLL,我寻找出了文件夹里面的DLL,然后想用Loadlibrary去加载搜索到的DLL去加载失败.
例如我声明了一个CString的对象str,里面保存了我搜索到的DLL,然后我使用Loadlibrary(str),但是返回是NULL,用GetLastError返回的值是126,说是什么模块文件没找到,但是如果我用Loadlibrary("Plug\\testDll.dll")确能加载成功,就算str里面是全路径也不行,怎么办呢?

------解决方案--------------------
“CString的对象str” 里到底是 什么 内容 ?
------解决方案--------------------
没有道理。
贴相关代码看看吧。
AfxMessageBox(str)显示出什么?
------解决方案--------------------
应该还是你的CString的问题。仔细对比一下
------解决方案--------------------
HMODULE LoadLibrary(  LPCTSTR lpFileName   // file name of module);
我感觉这个参数,可能不支持CString

str.GetBuffer(str.GetLength())
这样应该就没问题了
------解决方案--------------------
"e:\vc\plug\testDll.dll"

你转意符漏了吧

"e:\\vc\\plug\\testDll.dll"
------解决方案--------------------
引用:
Quote: 引用:

没有道理。
贴相关代码看看吧。
AfxMessageBox(str)显示出什么?

额,代码不在这一台电脑呢,不过我用过MessageBox弹过了,路径和文件名完全正确,就是不能加载,只能通过在参数里填写实质内容才行,如Loadlibrary("Plug\\testDll.dll")...唉,烦恼


还是一句话:没有道理。
我测试了,下面的写法加载DLL成功,没有问题。
CString str("c:\\windows\\system32\\comdlg32.dll");
AfxMessageBox(str);

HMODULE m = LoadLibrary(str);
if (!m)
{
int e = GetLastError();
}