MFC OnTimer从其他地方接收额外事件
MFC OnTimer receiving extra events from somewhere else
我有一个MFC应用程序,正在使用ON_WM_TIMER。
前1-2分钟,我用启动计时器
m_nIDEvent = SetTimer( 234, 500, NULL );
这是完美的工作,但在运行应用程序2-3分钟后,我得到了另一个事件,我不知道它是从哪里来的,每100毫秒左右
所以,我有void SomeClass::OnTimer(UINT事件){char str[100];sprintf_s(str,"event=%d\n",event);}
起初,它只打印出事件#234,但在2-3分钟后,它开始显示430-432中的一些事件。有什么想法吗?
我试着在afxwin2.inl(其中定义了SetTimer)处放置一个断点,并使用我放置的事件将其按预期停止,但不使用其他随机事件。
有什么想法吗?
谢谢!
这是Windows计时器的特性。所有计时器事件都由单个消息WM_timer处理,OnTimer
函数应该检查它可以处理的特定事件。一些Windows组件可以生成自己的计时器请求,而这些请求不会通过MFC SetTimer函数来触发断点。
相关文章:
- Qt:事件过滤器在显示 QCompleter 时不接收按键
- 如何解决:自定义QGraphics项目接收鼠标新闻事件坐标延迟/滞后?
- Libev,为什么在 EVloop 中接收事件的编号是 3?
- OpenCV 鼠标事件始终在鼠标滚动时接收事件 10 和 *flag* 0
- 有没有办法接收有关在窗口中启动的进程的事件
- MFC Rich Edit Control 2.0接收到单击事件
- 注册以在 MFC 中发出 Win32 事件信号时接收 Windows 消息
- OSX-Qt应用程序在接收系统事件QEvent::FileOpen时崩溃
- 为什么接收事件的多个小部件需要布局
- c++套接字客户端在输出流关闭的情况下不断从Java服务器事件中接收一些内容
- CBT Hook只接收一些事件
- C++sfml在窗口打开后立即接收到关闭事件
- 窗口未接收WM_KEYDOWN/WM_KEYUP事件
- 为什么我的 CStatic 派生类没有接收 OnMouseLeave 事件,但可以接收 OnMouseMove
- 如何接收 QGraphicsView 的滚动条鼠标事件
- 使用 select() 使用 UDP 套接字从多个对等方接收,同时从 STDIN 获取用户输入
- MFC OnTimer从其他地方接收额外事件
- SDL2未接收到窗口事件
- 窗口是否接收三次点击事件?如何处理高阶单击
- 使用 Windows 消息循环接收我正在编写的库中的事件