我在一个程序中LoadLibrary("c:\\test\\a.dll");其中a.dll链接了一个b.dll,而且b.dll也在test目录下,失败,如果把b.dll放在test.exe目录下,test.exe在C:\下,调用就成功,XP SP2系统,VS2005开发,如果调用SetCurrentDirectory("c:\\test\\")就可以调用成功,我的机器新装,不成功,重装前成功,请问问题出在什么地方,或者是什么地方需要设置一下
调试欢乐多
1.exe文件目录
2.进程当前工作目录
3.windows系统目录
4.windows目录
5.设置的环境变量的目录
现在你的b.dll运行需要运行在当前进程里面,而如果c:\\test并不是上述5种情况之一,dll载入肯定失败
我用VS2005写了一个测试程序:test.exe
test.exe用LoadLibrary加载了一个a.dll
a.dll静态连接了一个b.dll
其中:test.exe位于c:\下,a.dll和b.dll位于c:\test目录下,程序是这样写的
HMODULE hDll = LoadLibrary(_T("c:\\test\\a.dll"));在有的机器上能调用成功,在有的机器上不成功,我新装的XP SP2,不成功
我也怀疑sinsou(阿良·有谁共鸣) 所说的情况,但是有的机器就能成功,为什么?
而且此程序在我重装机器前运行良好,重装了之后就不行了.当然,我希望它成功,有什么方法可以让它成功,是不是windows有什么地方设置一下就可以了