要求,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;
}

解决方案 »

  1.   

    UINT_PTR SetTimer(
      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(..);
    }
      

  2.   

    错!
    更正楼上一个概念!
    是第四个参数为NULL时候,进入该Handle对应的消息循环!
    否则启动回调函数timer procedure对应的过程!