程序怎么找不到DLL?
调试程序调用dll的代码如下:我写在了按钮事件clicked里
hInstance = LoadLibrary("F:\\c++workroom\\DLLTEST\\Debug\\DLLTEST.dll");
if(hInstance==NULL){
MessageBox("hInstance is NULL","fuck",MB_OK);
}
else{
VERIFY(hProc = GetProcAddress(hInstance,"DoSomething"));
(*hProc)();
}
可保证F:\\c++workroom\\DLLTEST\\Debug\\DLLTEST.dll存在。
但是得到的hInstance一直为NULL
怎么回事?我已经指明了dll文件存在的绝对路径了呀?
后来我把dll文件放到了exe的目录下,System32下,还是这样。why??
调试程序调用dll的代码如下:我写在了按钮事件clicked里
hInstance = LoadLibrary("F:\\c++workroom\\DLLTEST\\Debug\\DLLTEST.dll");
if(hInstance==NULL){
MessageBox("hInstance is NULL","fuck",MB_OK);
}
else{
VERIFY(hProc = GetProcAddress(hInstance,"DoSomething"));
(*hProc)();
}
可保证F:\\c++workroom\\DLLTEST\\Debug\\DLLTEST.dll存在。
但是得到的hInstance一直为NULL
怎么回事?我已经指明了dll文件存在的绝对路径了呀?
后来我把dll文件放到了exe的目录下,System32下,还是这样。why??
解决方案 »
- 图形界面问题---如何在OnPaint中改变CEdit边框--快疯了
- 分享WTL布局类,感谢各位的援手!
- 为什么执行到return就发生0xC0000005:Access Violation.的错误。
- 如何探测socket是否保持SO_KEEPALIVE??
- 父窗口如何知道子窗口被关闭?
- 如何将透明位图画到按钮上?
- <<windows核心编程》光盘上的例子为什么编译通不过
- WebBrowser发生了NewWindow2消息,如何让它不产生新的窗口,而在原来的窗口中显示新的页面。
- help,一个VC小问题
- 小的有分相送,只求带我入DDK之门,宁愿倾家荡产
- 到底哪种联系方法可以象国内的QQ一样快捷地和国外朋友交流?
- ▲▲▲▲▲▲▲ADO如何连接远程的Oracle数据库?连接语句怎么写?不要通过ODBC连接▲▲▲▲▲▲▲
对了。
声明:extern "C" void _declspec(dllexport) DoSomething();
dll中的函数定义:
void _declspec(dllexport) DoSomething()
{
MessageBox(NULL,"Dll is remoted","hehe",MB_OK);
}
看参考,说:写了_declspec(dllexport) 就不用写DEF文件了。
呵呵,我是老菜。
又重新做了一个Dll,就可以了。两个代码一样呀!!!
怪呀!