我有一个 C++ 应用程序,我想每 1 分钟调用一个函数。我从一个 friend 那里得到了这个代码(感谢他)
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;
}
但一段时间后我无法执行程序的其余部分。因此,我正在寻找一种解决方案来每分钟执行所有代码和函数 f。
最佳答案
您正在使用 Windows 计时器消息。您的应用程序在 GetMessage
停止,直到 WM_QUIT
被发布到线程队列。
最简单的方法是使用线程并在那里调用 f,然后休眠一分钟。
关于c++ - 定时器的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686925/