没有WM_TIMER的处理函数,那就自己加,使用API函数
UINT WINAPI SetTimer(
    HWND hwnd,
    UINT idTimer,
    UINT uTimeOut,
    TIMERPROC pfnTimerProc);BOOL WINAPI KillTimer(
    HWND hwnd,
    UINT idEvent);

解决方案 »

  1.   

    Settimer(1,1000,NULL);
    ontimer里
    do
    killer(1);
      

  2.   

    其实没有窗口也可以用SetTimer函数
      

  3.   

    建立单文档工程的时候注意一点,那个什么 文档/查看体系结构支持 要选中CTRL+W为视类的WM_TIMER消息添加消息处理函数使用SetTimer(?,?,?)来启动定时器
    第一个参数是定时器的编号(可以有多个不同的定时器)
    第二个参数是调用同一个定时器的时间间隔,单位是毫秒
    第三个我也不太清楚,一般填0或NULL的
    比如SetTimer(0,10,0)就是每隔离10毫秒调用一次WM_TIMER对应的函数
      

  4.   

    如果使用SetTimer,你必須先定義一下回調函數,然後SetTimer(NULL,10,回調函數名稱)。或者使用SetTimerEvent(),具體用法用查看msdn.SetTimerEvent定時准確,而且不會丟失,但是缺點是一個程序中只能使用最多十六次SetTimerEvent(經驗之談,不一定准確,但基本上正確^_^)此貼貌似見過啊
      

  5.   

    哦,有一個地方不太准確:
    如果使用SetTimer,你必須先定義一下回調函數,然後這樣調用:
    ::SetTimer(NULL,1,/*1為定時編號*/ 10,回調函數名稱)
    前面要加::
      

  6.   

    初充一下,回調函數的格式:
    VOID CALLBACK TimerProc(
      HWND hwnd,     // handle of window for timer messages
      UINT uMsg,     // WM_TIMER message
      UINT idEvent,  // timer identifier
      DWORD dwTime   // current system time
    );
    这是msdn上给出的。