使用计时器

时间:2013-03-28 16:17:05

标签: c++ windows api timer

我有一个c ++应用程序,我想每1分钟调用一个函数。我有一个朋友的代码(感谢他)

void CALLBACK f(HWND hwnd, UINT uMsg, UINT timerId, DWORD dwTime)
{
  printf("Hello");
}

int main() 
{
  MSG msg;

  SetTimer(NULL, 0, 1000*60,(TIMERPROC) &f);
  while(GetMessage(&msg, NULL, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
//Here I have the rest of my appliation
  return 0;
}

但是我不能在while之后执行我的程序的其余部分。所以,我正在寻找一个解决方案,每分钟都执行所有代码和函数。

1 个答案:

答案 0 :(得分:0)

您正在使用Windows计时器消息。您的应用程序将停在GetMessage,直到WM_QUIT发布到线程队列。

最简单的方法是使用一个线程并在那里调用f,然后睡一会儿。

相关问题