请编写一个例子程序和一个DLL,实现一个回调。DLL提供如下函数:
SetESR((Func) *pEvt):建立Thread,内部设立一个计数器,该计数器每秒钟加1;Thread中,每秒钟以计数器作为参数,调用一次用户设定的该回调函数 *pEvt。EXE提供如下功能:
当*pEvt被回调时,在屏幕上显示一下计数器的值。
SetESR((Func) *pEvt):建立Thread,内部设立一个计数器,该计数器每秒钟加1;Thread中,每秒钟以计数器作为参数,调用一次用户设定的该回调函数 *pEvt。EXE提供如下功能:
当*pEvt被回调时,在屏幕上显示一下计数器的值。
UINT __stdcall AddThread(LPVOID lpVoid)
{
while(g_true)
{
Sleep(1000);
g_count++;
Func *pfun = (Func *)lpVoid;
pfun(g_count);
}
return 0;
}void SetESR(Func *pEvt)
{
unsigned int uiThreadID = 0;
_beginthreadex(NULL, 0, pfun, (LPVOID)pEvt, 0, &uiThreadID);
}