1、在DLL定义类型
//回调类型
typedef int (WINAPI *PFCALLBACK)(int Param1,int Param2);
2、在Dll内定义装载变量
PFCALLBACK gCallBack;
3、在DLL内定义方法对gCallBack赋值
void setCallBackFuntion(PFCALLBACK fun/*void * fun*/);
void CDll_App::setCallBackFuntion(PFCALLBACK fun/*void * fun*/)
{
gCallBack = (PFCALLBACK)fun;
}
4、在调用模块里面引用Dll头文件
如果没有头文件,就要重做第1步。
5、在调用文件里定义加方法:
int WINAPI CBFunc(int Param1,int Param2);
int WINAPI CBFunc(int Param1,int Param2)
{
...
}
6、调用文件里调用DLL的回调赋值方法
CDll_App dApp;
dApp.setCallBackFuntion((PFCALLBACK)CBFunc);
int a = dApp.getIndex();
7、Dll文件是引起回调
int CDll_App::getIndex()
{
gCallBack(128, 512);
return 105;
}