gpt4 book ai didi

c++ - MFC OnTimer 从其他地方接收额外的事件

转载 作者:行者123 更新时间:2023-11-28 06:36:03 26 4
gpt4 key购买 nike

我有一个使用 ON_WM_TIMER 的 MFC 应用程序。

前 1-2 分钟,我用

启动计时器
m_nIDEvent = SetTimer( 234, 500, NULL );

这工作得很好,但在运行应用程序 2-3 分钟后,我收到另一个事件,我不知道它每隔 100 毫秒左右从哪里传来。

所以,我有 void SomeClass::OnTimer(UINT 事件) { 字符海峡 [100]; sprintf_s(str, "事件 = %d\n", 事件);

起初它只打印出事件 #234,但 2-3 分钟后它开始显示 430-432 中的一些事件。有什么想法吗?

我尝试在 afxwin2.inl(定义了 SetTimer 的地方)放置一个断点,并且我放置的事件按预期停在那里,但其他随机事件没有。

有什么想法吗?

谢谢!

最佳答案

这是 Windows 计时器的特性。所有计时器事件都由单个消息 WM_TIMER 处理,您的 OnTimer 函数应该检查它可以处理的特定事件。某些 Windows 组件可以生成自己的计时器请求,这些请求不会通过 MFC SetTimer 函数来触发您的断点。

关于c++ - MFC OnTimer 从其他地方接收额外的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com