c++ - 定时器的使用

标签 c++ windows api timer

我有一个 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/

相关文章:

c++ - 默认模板参数偏特化

c++ - 在 C++ 中读取 SQL 表

Windows 批处理脚本 - 一次执行一个命令

python - 预先测试 xlsxwriter 是否能够在 Windows 下写入目标文件

api - codeigniter Paypal 集成

c++ - 如何查找一个字符串是否位于另一个字符串内部并替换它?

c++ - 创建相同的套接字

iphone - Google MAP Api http 请求

c++ - 我可以创建一个与提交按钮一样工作的 CommandLink 吗?

javascript - if 语句的条件元素 > 数字给出奇怪的结果