Vc中是void CALLBACK Doit(UINT wTimerID,UINT Msg,DWORD
dwUser,DWORD dw1,DWORD dw2)

解决方案 »

  1.   

    为什么不直接用TTimer对象呢?使用起来更方便,难道你是要更加精确的计时器?也有相关的高分辨率Timer啊,直接使用Win32的timeSetEvent,我觉得很不方便,当然这是个人意见:).
      

  2.   

    uses MMSystem;var
      vHandle: MMRESULT;procedure FNTimeCallBack(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD); stdcall;
    begin
      TForm1(dwUser).Caption := DateTimeToStr(Now);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      vHandle := timeSetEvent(1000, 0, FNTimeCallBack, Integer(Self), TIME_PERIODIC)
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      timeKillEvent(vHandle);
    end;