我有一个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之后执行我的程序的其余部分。所以,我正在寻找一个解决方案,每分钟都执行所有代码和函数。
答案 0 :(得分:0)
您正在使用Windows计时器消息。您的应用程序将停在GetMessage
,直到WM_QUIT
发布到线程队列。
最简单的方法是使用一个线程并在那里调用f,然后睡一会儿。