关于vc++建立dll并调用的问题,请帮帮忙
小崔爱读书 2004-07-14 04:32:13 关于vc++建立dll并调用的问题,请帮帮忙
我建了一个dll,源程序是这样的。
#include "stdafx.h"
#define EXPORT extern "C" __declspec (dllexport)
BOOL WINAPI DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
EXPORT int WINAPI test()
{
MessageBox(NULL,"Test","test",0);
return 1;
}
然后编译调用。在窗口的WM_LBUTTONDOWN消息触发。
前面声明了:
typedef int (WINAPI * HProc)();
HProc hp;
HINSTANCE hLib;
然后是
case WM_LBUTTONDOWN:
hLib=LoadLibrary(TEXT("Hook.dll"));
if(hLib!=NULL) //跟踪到这里显示hLib不为空,也就是打开dll成功。
hp=(HProc)GetProcAddress(hLib,"test");//这里显示hp为空,也就是调用函数test出错。
if(hp!=NULL)
(*hp)();
return 1;
为什么有这样的问题。