要求,DLL被调用后就SetTimer,或者一定条件触发它SetTimer啊?DLL的MAIN如下:
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if(ul_reason_for_call =DLL_PROCESS_ATTACH)
{
}
return TRUE;
}
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if(ul_reason_for_call =DLL_PROCESS_ATTACH)
{
}
return TRUE;
}
HWND hWnd, // handle to window
UINT_PTR nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // timer procedure
);所以首先你要一个窗口句柄(与调用线程相关的窗口句柄),以便使计时器产生的WM_TIMER有地方接收,不然的话WM_TIMER就会被系统忽略。
SetTimer就放在
if(ul_reason_for_call =DLL_PROCESS_ATTACH)
{
SetTimer(..);
}
更正楼上一个概念!
是第四个参数为NULL时候,进入该Handle对应的消息循环!
否则启动回调函数timer procedure对应的过程!