【问题标题】:C++ Timer not working?C++ 计时器不工作?
【发布时间】:2013-06-11 13:09:42
【问题描述】:

我正在尝试用 C++ 制作一个计时器。我是 C++ 新手。我找到了这段代码sn-p

UINT_PTR SetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);

我把它放在我的全局变量中,它告诉我

错误 1 ​​错误 C2373:'SetTimer':重新定义;不同的类型修饰符

我不确定这意味着什么。有没有更合适的方式来定义定时器?

我没有使用 mfc / afx

谢谢

【问题讨论】:

    标签: c++ winapi native


    【解决方案1】:

    你应该这样称呼它:

    void CALLBACK TimerProc(
     HWND hwnd, 
     UINT uMsg, 
     UINT idEvent, 
     DWORD dwTime 
    )
    {
     //do something
    }
    
    SetTimer(NULL, NULL, 1000, TimerProc);
    

    这将设置一个 1 秒的计时器,并在它到期时调用 TimerProc。在此处阅读 TimerProc MSDN:http://msdn.microsoft.com/en-us/library/ms644907%28VS.85%29.aspx

    【讨论】:

    • 如果您在 SetTimer 中传递“OnTimer”,它将如何调用函数 TimerProc??
    • 好地方。这个答案已经快 4 岁了:)
    • 我想要一个挖掘机徽章;)
    【解决方案2】:

    那不是函数调用——那是函数声明,你可能已经从某个地方#include 了。您需要的是代码中的实际 SetTimer 调用。

    您能否将您的代码发布在您尝试设置计时器的位置,以及您希望它在触发时调用的函数?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 2013-07-20
      • 2013-01-18
      相关资源
      最近更新 更多